【2017002】C#FTP上传文件
//上传文件 public static Boolean FtpUpload(string ftpPath, string localFile, FtpServer svr) { //检查目录是否存在,不存在创建 FtpCheckDirectoryExist(ftpPath, svr); FileInfo fi = new FileInfo(localFile); FileStream fs = fi.OpenRead(); long length = fs.Length; FtpWebRequest req = (FtpWebRequest)WebRequest.Create(svr.FtpServerIp + ftpPath + fi.Name); req.Credentials = new NetworkCredential(svr.FtpUserId, svr.FtpPassword); req.Method = WebRequestMethods.Ftp.UploadFile; req.ContentLength = length; req.Timeout = * ; try { Stream stream = req.GetRequestStream(); ; //2K byte[] b = new byte[BufferLength]; int i; , BufferLength)) > ) { stream.Write(b, , i); } stream.Close(); stream.Dispose(); } catch (Exception) { return false; } finally { fs.Close(); req.Abort(); } req.Abort(); return true; } //判断文件的目录是否存,不存则创建 public static void FtpCheckDirectoryExist(string destFilePath, FtpServer svr) { string fullDir = FtpParseDirectory(destFilePath); string[] dirs = fullDir.Split('/'); string curDir = "/"; ; i < dirs.Length; i++) { string dir = dirs[i]; //如果是以/开始的路径,第一个为空 if (!string.IsNullOrEmpty(dir)) { try { curDir += dir + "/"; FtpMakeDir(curDir, svr); } catch (Exception) { // ignored } } } } public static string FtpParseDirectory(string destFilePath) { , destFilePath.LastIndexOf("/", StringComparison.Ordinal)); } //创建目录 public static Boolean FtpMakeDir(string localFile, FtpServer svr) { FtpWebRequest req = (FtpWebRequest)WebRequest.Create(svr.FtpServerIp + localFile); req.Credentials = new NetworkCredential(svr.FtpUserId, svr.FtpPassword); req.Method = WebRequestMethods.Ftp.MakeDirectory; try { FtpWebResponse response = (FtpWebResponse)req.GetResponse(); response.Close(); } catch (Exception) { req.Abort(); return false; } req.Abort(); return true; } public class FtpServer { public string FtpServerIp { get; set; } public string FtpPath { get; set; } public string FtpUserId { get; set; } public string FtpPassword { get; set; } }
【2017002】C#FTP上传文件的更多相关文章
- .net FTP上传文件
FTP上传文件代码实现: private void UploadFileByWebClient() { WebClient webClient = new WebClient(); webClient ...
- 通过cmd完成FTP上传文件操作
一直使用 FileZilla 这个工具进行相关的 FTP 操作,而在某一次版本升级之后,发现不太好用了,连接老是掉,再后来完全连接不上去. 改用了一段时间的 Web 版的 FTP 工具,后来那个页面也 ...
- FTP上传文件到服务器
一.初始化上传控件. 1.我们这里用dropzone.js作为上传控件,下载地址http://www.dropzonejs.com/ 2.这里我们使用一个div元素作为dropzone载体. < ...
- 再看ftp上传文件
前言 去年在项目中用到ftp上传文件,用FtpWebRequest和FtpWebResponse封装一个帮助类,这个在网上能找到很多,前台使用Uploadify控件,然后在服务器上搭建Ftp服务器,在 ...
- FTP上传文件提示550错误原因分析。
今天测试FTP上传文件功能,同样的代码从自己的Demo移到正式的代码中,不能实现功能,并报 Stream rs = ftp.GetRequestStream()提示远程服务器返回错误: (550) 文 ...
- FTP 上传文件
有时候需要通过FTP同步数据文件,除了比较稳定的IDE之外,我们程序员还可以根据实际的业务需求来开发具体的工具,具体的开发过程就不细说了,这里了解一下通过C#实现FTP上传文件到指定的地址. /// ...
- Java ftp 上传文件和下载文件
今天同事问我一个ftp 上传文件和下载文件功能应该怎么做,当时有点懵逼,毕竟我也是第一次,然后装了个逼,在网上找了一段代码发给同事,叫他调试一下.结果悲剧了,运行不通过.(装逼失败) 我找的文章链接: ...
- C# FTP上传文件至服务器代码
C# FTP上传文件至服务器代码 /// <summary> /// 上传文件 /// </summary> /// <param name="fileinfo ...
- Java ftp上传文件方法效率对比
Java ftp上传文件方法效率对比 一.功能简介: txt文件采用ftp方式从windows传输到Linux系统: 二.ftp实现方法 (1)方法一:采用二进制流传输,设置缓冲区,速度快,50M的t ...
- Ftp上传文件
package net.util.common; import java.io.File; import java.io.FileInputStream; import java.io.FileOut ...
随机推荐
- 一个对inner jion ...on 的sql多表联合查询的练习
create database practiceSql; use practiceSql; -- create table student( `id` bigint not null auto_inc ...
- QQ 聊天机器人小薇 1.0.1 发布!
本次发布主要解决了消息丢失(Api返回码[1202])问题,并改进了改进了一些细节. 简介 XiaoV(小薇)是一个用 Java 写的 QQ 聊天机器人 Web 服务,可以用于社群互动: 监听多个 Q ...
- 制作Makefile中 ** missing separator 错误解决
非常简单就是根据提示,在这一行的前面摁Tab键 错误如上图所示:
- Windows下Python2与Python3两个版本共存的方法详解
来源:http://www.jb51.net/article/105311.htm 这篇文章主要介绍了Windows下Python2与Python3两个版本共存的方法,文中介绍的很详细,对大家具有一定 ...
- SQL UNION操作符使用
SQL UNION 操作符 SQL UNION 操作符合并两个或多个 SELECT 语句的结果. SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意 ...
- Linux ->> VMWare Workstation虚拟机里的UBuntu系统安装VMWare-tools
1) mkdir创建一个临时目录 2)复制gz压缩包到临时目录下 3)解压到当前目录 4)运行.pl文件安装 root@ubuntu:/# root@ubuntu:/# cd /tmp/ root@u ...
- Linux文件系统的实现 ZZ
作者:Vamei 出处:http://www.cnblogs.com/vamei Linux文件管理从用户的层面介绍了Linux管理文件的方式.Linux有一个树状结构来组织文件.树的顶端为根目录(/ ...
- [python错误]UnicodeDecodeError: 'gbk' codec can't decode byte...
出现此错误的原因是使用'gbk'解码时报错,存在一些字符不能使用gbk来解码. 首先,简体中文字符编码(ASCII扩展字符集)有下列几种:GB2312.GBK.GB18030. GB2312: 中国国 ...
- Dapper进行增删改查 z
http://www.cnblogs.com/huangkaiyan10/p/4640548.html 项目背景 前一段时间,开始做一个项目,在考虑数据访问层是考虑技术选型,考虑过原始的ADO.NET ...
- Python学习---重点模块之pickle
仅仅支持Python里面的函数等相关功能的实现,而且pickle写入的内容是看不出来的,读取的时候要求有原内容 pickled的写入: import pickle def fun(): print(' ...