zoukankan      html  css  js  c++  java
  • asp.net 服务器 上传文件到 FTP服务器

    private string ftpServerIP = "服务器ip";//服务器ip
    private string ftpUserID = "ftp的用户名";//用户名
    private string ftpPassword = "ftp的密码";//密码
    //filename 为本地文件的绝对路径
    //serverDir为服务器上的目录
    private void Upload(string filename,string serverDir)
    {
    FileInfo fileInf = new FileInfo(filename);
    
    string uri = string.Format("ftp://{0}/{1}/{2}", ftpServerIP,serverDir,fileInf.Name);
    FtpWebRequest reqFTP;
    
    // 根据uri创建FtpWebRequest对象 
    reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(uri));
    
    // ftp用户名和密码
    reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);
    
    // 默认为true,连接不会被关闭
    // 在一个命令之后被执行
    reqFTP.KeepAlive = false;
    
    // 指定执行什么命令
    reqFTP.Method = WebRequestMethods.Ftp.UploadFile;
    
    // 指定数据传输类型
    reqFTP.UseBinary = true;
    
    // 上传文件时通知服务器文件的大小
    reqFTP.ContentLength = fileInf.Length;
    
    // 缓冲大小设置为2kb
    int buffLength = 2048;
    
    byte[] buff = new byte[buffLength];
    int contentLen;
    
    // 打开一个文件流 (System.IO.FileStream) 去读上传的文件
    FileStream fs = fileInf.OpenRead();
    try
    {
    // 把上传的文件写入流
    Stream strm = reqFTP.GetRequestStream();
    
    // 每次读文件流的2kb
    contentLen = fs.Read(buff, 0, buffLength);
    
    // 流内容没有结束
    while (contentLen != 0)
    {
    // 把内容从file stream 写入 upload stream
    strm.Write(buff, 0, contentLen);
    
    contentLen = fs.Read(buff, 0, buffLength);
    }
    
    // 关闭两个流
    strm.Close();
    fs.Close();
    }
    catch (Exception ex)
    {
    // MessageBox.Show(ex.Message, "Upload Error");
    Response.Write("Upload Error:" + ex.Message);
    }
    }
    
    调用方法
    string filename = "D:\test.txt"; //本地文件,需要上传的文件
    string serverDir = "img"; //上传到服务器的目录,必须存在
    Upload
    
    (filename,serverDir);
  • 相关阅读:
    Python学习之路
    like's photos
    Django---子框架drf内容总结
    Django---子框架drf项目---路飞学城---前后端搭建
    Django---drf,JWT补充、基于就角色的权限控制(django内置auth体系)
    常见三种加密(MD5、非对称加密,对称加密)
    Django---drf,自定制频率、自动生成文档、JWT
    PEP8 常用规范
    Class meta
    Django---drf, books系列表接口、分页器、根据ip进行频率限制---作业
  • 原文地址:https://www.cnblogs.com/lujin49/p/3460711.html
Copyright © 2011-2022 走看看