博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
向FTP服务器上传文件
阅读量:6008 次
发布时间:2019-06-20

本文共 2013 字,大约阅读时间需要 6 分钟。

代码如下:

//filepath为上传到FTP服务的文件所在的本地路径,如D:\ylh.xmlprivate void UploadToFtp(String filepath)        {            //获取职位            FileInfo fileInf = new FileInfo(filepath);            string uri = _ftpAddr + fileInf.Name;            FtpWebRequest reqFTP;            // 根据uri创建FtpWebRequest对象               reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(uri));            reqFTP.Credentials = new NetworkCredential(_account, _pwd);            // 默认为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();//ftp用户要有修改权限,否则会提示错误                // 每次读文件流的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();                // this.Page.RegisterStartupScript("", "");              }            catch (Exception ex)            {                // MessageBox.Show(ex.Message, "Upload Error");                // Response.Write("Upload Error:" + ex.Message);              }        }

注意:1.执行的时候,一定要确保你所使用的用户有修改FTP文件的权限,否则会出现让你蛋碎的错误提示。

2.其中的_account为用户名,_pwd为密码。如果是匿名登录,他们的值为""就OK了。

转载于:https://www.cnblogs.com/yinluhui0229/archive/2012/07/31/2617128.html

你可能感兴趣的文章
Start Code School Today!
查看>>
Nginx下载服务生产服务器调优
查看>>
移动互联网,入口生死战
查看>>
nginx面试常问题目
查看>>
制作ubuntu系统u盘镜像,以及安装
查看>>
JAVA多线程深度解析
查看>>
Kafka High Level Consumer 会丢失消息
查看>>
时间轴
查看>>
入坑vim之配置文件vimrc
查看>>
java 获取系统当前时间的方法
查看>>
Ubuntu 10.04升级git 到1.7.2或更高的可行方法
查看>>
MyBATIS(即iBATIS)问题集
查看>>
Linux下autoconf和automake使用
查看>>
UDP之socket编程
查看>>
Spring Security4实战与原理分析视频课程( 扩展+自定义)
查看>>
Centos6.5升级系统自带gcc4.4.7到gcc4.8.0
查看>>
redis安装与配置文件详解
查看>>
VMware安装失败 “Failed to create the requested registry key Key:installer Error:1021"
查看>>
虚拟化系列-VMware vSphere 5.1 VDP备份管理
查看>>
消息队列服务器 memcacheq的搭建
查看>>