C# Ftp文件处理
1.创建文件夹
/// <summary>
/// ftp创建文件夹(只能创建单层目录)
/// </summary>
/// <param name="Uri">IP服务地址</param>
/// <param name="UserName">登陆账号</param>
/// <param name="UserPass">密码</param>
public static bool CreateDirectory(string Uri, string UserName, string UserPass)
{
try
{
FtpWebRequest FTP = (FtpWebRequest)FtpWebRequest.Create(Uri);
FTP.Credentials = new NetworkCredential(UserName, UserPass);
FTP.Proxy = null;
FTP.KeepAlive = false;
FTP.Method = WebRequestMethods.Ftp.MakeDirectory;
FTP.UseBinary = true;
FtpWebResponse response = FTP.GetResponse() as FtpWebResponse;
response.Close();
return true;
}
catch
{
return false;
}
}
注意 这个方法只能创建一层目录,如果要创建深层目录,只能迭代。
这个方法也可以用来判断某个目录是否存在(网上找了几个判断目录存在与否的方法,都有Bug,没解决掉)
如果文件夹已存在或者指定目录的父文件夹不存在,则抛出【远程服务器返回错误: (550) 文件不可用(例如,未找到文件,无法访问文件)。】
Ftp 读取文件到字符串中(下载)
public String readerFtpFile(String ftp, String username, String password, String filename)
{
StringBuilder result = new StringBuilder();
FtpWebRequest reqFTP;
try
{
String ftpserver = ftp + filename;
reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(ftpserver));
reqFTP.UsePassive = false;
reqFTP.UseBinary = true;
reqFTP.Credentials = new NetworkCredential(username, password);
//reqFTP.Method?=?WebRequestMethods.Ftp.ListDirectory;
reqFTP.Method?=?WebRequestMethods.Ftp.DownloadFile;
FtpWebResponse fwResponse = (FtpWebResponse)reqFTP.GetResponse();
StreamReader reader = new StreamReader(fwResponse.GetResponseStream(),Encoding.UTF8); string line = reader.ReadLine();
while (line != null)
{
result.AppendLine(line);
line = reader.ReadLine();
}
result.Remove(result.ToString().LastIndexOf('\n'), );
reader.Close();
fwResponse.Close();
return result.ToString();
}
catch (Exception ex)
{
return result.ToString();
}
}
Ftp 文件上传:
string url = string.Format("ftp://{0}/{1}/{2}", FtpIP, UploadPath,fileName);
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(url);
request.Credentials = new NetworkCredential(FtpUserName, FtpPwd);
request.Proxy = null;
request.Method = WebRequestMethods.Ftp.UploadFile;
Stream stream = request.GetRequestStream();
stream.Write(bytes, , bytes.Length);
stream.Close();
注意这一句[request.Proxy = null;]因为公司都是代理上网,所以如果不加这句话,就会报错误【使用 HTTP 代理时不支持请求的 FTP 命令。】
还有一点就是 ftp地址必须使用内网IP,而不是外网IP,否则会出现错误【无法解析此远程名称】
C# Ftp文件处理的更多相关文章
- Java实现FTP文件与文件夹的上传和下载
Java实现FTP文件与文件夹的上传和下载 FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为"文传协议".用于Internet上的控制 ...
- informatica读取FTP文件
以下为一个完整的informatica读取ftp文件,并导入到系统中. 第一步: 通过shell脚本下载压缩包文件 /server/infa_shared/crm_prod/shell/ftpFrom ...
- java实现ftp文件的上传与下载
最近在做ftp文件的上传与下载,基于此,整理了一下资料.本来想采用java自带的方法,可是看了一下jdk1.6与1.7的实现方法有点区别,于是采用了Apache下的框架实现的... 1.首先引用3个包 ...
- b/s 读取多个FTP文件(图片,视频)压缩到服务器 下载到客户端
其实需求是这样, 要做一键导出, 有图片,有照片,youhtml,存在不同的文件夹,每次下载都必须下载最新数据,因为FTP是随时更新的. 1.这要是一直下载下载,浏览器一直跳窗口,蛋疼的我都看不下去. ...
- edtftpj让Java上传FTP文件支持断点续传
在用Java实现FTP上传文件功能时,特别是上传大文件的时候,可以需要这样的功能:程序在上传的过程中意外终止了,文件传了一大半,想从断掉了地方继续传:或者想做类似迅雷下载类似的功能,文件太大,今天传一 ...
- Java实现FTP文件上传与下载
实现FTP文件上传与下载可以通过以下两种种方式实现(不知道还有没有其他方式),分别为:1.通过JDK自带的API实现:2.通过Apache提供的API是实现. 第一种方式 package com.cl ...
- 自动扫描FTP文件工具类 ScanFtp.java
package com.util; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import ja ...
- C#实现FTP文件夹下载功能【转载】
网上有很多FTP单个文件下载的方法,前段时间需要用到一个FTP文件夹下载的功能,于是找了下网上的相关资料结合MSDN实现了一段FTP文件夹下载的代码. 实现的思路主要是通过遍历获得文件夹下的所有文件, ...
- java/struts/Servlet文件下载与ftp文件上传下载
1.前端代码 使用超链接到Struts的Action或Servlet <a target="_blank" href="ftpFileAction!download ...
随机推荐
- 妹味6:ajax与ajax封装
(功能)ajax能且仅能 从服务器读取文件 (环境)需要服务器环境才能测试,可以用工具建立本地服务器环境 (缓存)解决缓存问题:url加时间戳让每次请求地址唯一,如 url='abc.txt?t='+ ...
- sql server service broker中调用存储过程执行跨库操作,不管怎么设置都一直提示 服务器主体 "sa" 无法在当前安全上下文下访问数据库 "dbname"。
用sql server自带的消息队列service borker,调用存储过程中,执行了一个跨库的操作,先是用了一个用户,权限什么都给够了,但是一直提示 服务器主体 "user" ...
- ThroughRain第二次冲刺总结
团队名:ThroughRain 项目确定:<餐厅到店点餐系统> 项目背景:本次项目是专门为餐厅开发的一套订餐系统.大家有没有发现在节假日去餐厅吃饭会超级麻烦,人很多, 热门的餐厅基本没有座 ...
- ok6410 android driver(10)
From this essay, we go to a new discussion "Android Hardware Abstraction Layer". In this e ...
- ok6410 android driver(7)
This article talk about how to test device driver on JNI. There are two ways to test the device driv ...
- jquery实现网页选项卡
这个功能在现在的网站中使用较为普遍,就是以选项卡的形式来对一些内容做了分类.,比如下面的天猫商城. 下面的源码是仿照天猫写的一个选项卡,实现起来的效果如下. 主要是利用我们在点击相应板块是触发它的单击 ...
- 重新想象 Windows 8 Store Apps (58) - 微软账号
[源码下载] 重新想象 Windows 8 Store Apps (58) - 微软账号 作者:webabcd 介绍重新想象 Windows 8 Store Apps 之 微软账号 获取微软账号的用户 ...
- Ahjesus Nodejs01 环境搭建及运行
访问http://nodejs.org/,根据系统选择下载文件,我用的win7 64 安装一路下一步直到完成 运行cmd输入node -v查看是否安装成功 成功会显示版本号 到此环境搭建完毕 ==== ...
- Mac OSX 下用 Homebrew 安装 MongoDB 并配置到 WebStorm 中
1. 安装 Ruby OSX 操作系统内置 Ruby,但如果没有 Ruby,则需先输入以下命令安装能够进行多版本ruby环境安装.管理和切换的命令行工具 RVM. 1.1 安装 RVM 打开终端输入以 ...
- Java 上传文件到 SFTP 抛异常 java.lang.NoClassDefFoundError: Could not initialize class sun.security.ec.SunEC 的解决办法
最近从 Op 那里报来一个问题,说是SFTP上传文件不成功.拿到的 Exception 如下: Caused by: java.lang.NoClassDefFoundError: Could not ...