FTP下载文件问题,急!!!!

鬼五拾柒 2015-04-09 05:07:28
       
private void button3_Click(object sender, EventArgs e)
{
string KSSJ = dtpKSSJ.Value.ToString("yyyy-MM-dd");
string SavePath = this.textBox1.Text;
string ftpUrl = "";
if (this.textBox1.Text.Trim() != "")
{
if (dataGridView1.Rows.Count > 0)
{
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
if (bool.Parse(dataGridView1.Rows[i].Cells[9].Value.ToString()) == false)
{
string FileName = this.dataGridView1.Rows[i].Cells[0].Value.ToString();//获取FTP文件名
string FilePath1 = this.dataGridView1.Rows[i].Cells[4].Value.ToString();//获取FTP文件路径
string FilePath2 = FilePath1.Substring(0, FilePath1.Length - 1);
ftpUrl = FilePath2.Substring(1);
string Model_No = this.dataGridView1.Rows[i].Cells[5].Value.ToString();//获取型号
string Type_Work = this.dataGridView1.Rows[i].Cells[6].Value.ToString();//获取工种
int FileSize = Convert.ToInt32(this.dataGridView1.Rows[i].Cells[2].Value.ToString());
string path = string.Format(@"{0}\{1}\{2}\{3}\", SavePath, KSSJ, Model_No, Type_Work);
string url = "ftp://15.5.240.15/" + ftpUrl;
// DownLoad(FileName, ftpUrl, SavePath, KSSJ, Model_No, Type_Work);
Download(FileName, url, path,FileSize);
//MessageBox.Show("可以保存!");


}
}
}
else
{
MessageBox.Show("没有指定数据!");
}
}
else
{
MessageBox.Show("请指定存放目录!", "提示");
}
}

/// <summary>
/// 下载
/// </summary>
/// <param name="FileName"></param>
/// <param name="ftpUrl"></param>
/// <param name="path"></param>
public void Download(string FileName, string ftpUrl, string path,int FileSize)
{
FtpWebRequest reqFTP;
try
{
FileStream outputStream = new FileStream(path + "\\" + FileName, FileMode.Create);
reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(ftpUrl + FileName));
reqFTP.Method = WebRequestMethods.Ftp.DownloadFile;
reqFTP.KeepAlive = false;
reqFTP.UseBinary = true;
reqFTP.Credentials = new NetworkCredential("bft1", "Aa149608");
FtpWebResponse response = (FtpWebResponse)reqFTP.GetResponse();
Stream ftpStream = response.GetResponseStream();
long cl = response.ContentLength;
int bufferSize = FileSize;
int readCount;
byte[] buffer = new byte[bufferSize];
readCount = ftpStream.Read(buffer, 0, bufferSize);
while (readCount > 0)
{
outputStream.Write(buffer, 0, readCount);
readCount = ftpStream.Read(buffer, 0, bufferSize);
}
ftpStream.Close();
outputStream.Close();
response.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}

麻烦各位大大帮忙看下,为什么报错:未能找到路径“C:\Users\Administrator\Desktop\新建文件夹\2015-03-01\CBL7501A\LTE-TDD\1.txt”的一部分
...全文
123 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
slwsss 2015-04-09
  • 打赏
  • 举报
回复
public void Download(string FileName, string ftpUrl, string path,int FileSize) { FtpWebRequest reqFTP; try { Directory.CreateDirectory(path);
鬼五拾柒 2015-04-09
  • 打赏
  • 举报
回复
引用 3 楼 slwsss 的回复:
这个不会给你创建目录 [quote=引用 2 楼 u011683479 的回复:] [quote=引用 1 楼 slwsss 的回复:] 没创建目录?
FileStream outputStream = new FileStream(path + "\\" + FileName, FileMode.Create);不是有这句吗??存在文件就覆盖,不存在就创建[/quote][/quote] 那怎么改呢
slwsss 2015-04-09
  • 打赏
  • 举报
回复
这个不会给你创建目录
引用 2 楼 u011683479 的回复:
[quote=引用 1 楼 slwsss 的回复:] 没创建目录?
FileStream outputStream = new FileStream(path + "\\" + FileName, FileMode.Create);不是有这句吗??存在文件就覆盖,不存在就创建[/quote]
鬼五拾柒 2015-04-09
  • 打赏
  • 举报
回复
引用 1 楼 slwsss 的回复:
没创建目录?
FileStream outputStream = new FileStream(path + "\\" + FileName, FileMode.Create);不是有这句吗??存在文件就覆盖,不存在就创建
slwsss 2015-04-09
  • 打赏
  • 举报
回复
没创建目录?
教你如何修改华为HG526无线猫超级用户密码、修改IPTV无线名及密钥、打开FTP服务、打开telnet权限默认分类 2011-01-10 23:41:48 阅读3704 评论31 字号:大中小 订阅 . 一、 先将华为HG526无线猫配置文件导出到优盘上。 将优盘插入华为HG526无线猫的USB接口上,登录猫的WEB配置界面,选“管理”—“配置管理”,点击USB备份配置右侧的“备份配置”按钮,几秒钟后会提示“配置文件保存成功”。这时,优盘里会产生一个名为e8_Config_backup文件夹,文件夹里就是刚才导出的配置文件ctce8_HG526.cfg。这个文件是接下来我们要用的。 (图1) 二、对配置文件进行解密 我们打开ctce8_HG526.cfg文件看看, 如图2 (图2) 咋是乱码?看不懂!别!由于导出的配置文件是经过加密的,我们先必须对它进行解密才能修改。这里需要用到HG526代码加解密工具(下载见附件) 1、打开HG526代码加解密工具,点击“打开文件”,选择刚才导出的配置文件ctce8_HG526.cfg,点击“解密”,在下面会显示出解密后代码,保存文件为ctce8_HG526.cfg覆盖原文件, 如图3 (图3) 2、用文本编辑器(如:notepad++)打开解密过的ctce8_HG526.cfg配置文件进行修改即可。部分代码解释如下: 1) 修改超级用户密码 搜索代码: 查找Userpassword="nE7jA%5m" ,引号内的为超级用户密码,可修改成自己的。 2)修改IPTV用的SSID-2无线信号名(上网用的SSID-1名称WEB管理页面可以修改,这里不再赘述) 搜索关键词“WLANConfigurationInstance”或直接搜索IPTV用的无线信号名,很容易找到类似SSID="ChinaNet-IPTV " 的代码,修改引号内的名称,如:SSID="iTV-MDB" 3)修改IPTV用的SSID-2密钥 搜索如下代码: …… …… 配置文件共有两处代码形如:PreSharedKey="XXXX" ,分别为SSID1和SSID2的密钥。注意InstanceID="2"后面跟的才是SSID2密钥,别搞错了!PreSharedKey="123888123a" ,修改红色部分为自己的密钥。 4)打开无线猫FTP服务 搜索代码:FtpEnable="1" FtpUserName="ftp" FtpPassword="ftp" FtpPort="21" FtpPath="/mnt" FtpEnable="1" ,FTP服务功能开关,“1”为打开,“0”为关闭(默认); FtpUserName="ftp" FtpPassword="ftp" ,FTP登录账号:ftp 密码:ftp FtpPort="21" ,端口号:21 FtpPath一般不用改,默认就行。 FTP使用方法:如果你web管理地址是192.168.1.1,则在IE浏览器输入ftp://192.168.1.1 ,在弹出的登录对话框中输入账号ftp密码ftp,看到usb1_1文件夹双击进入即可。当然,你也可以使用FTP客户端软件,这样管理起来更方便。如果你插个大容量优盘或着移动硬盘,你在家庭网关中就多出了一台FTP服务器。可以把经常用到的软件、音乐或电影什么的拷贝到优盘插到无线猫上,不用开电脑,只要打开猫,家里的多台上网设备(包括笔记本,ipad)就可以共享资源了。不错啊!~ 5) 打开telnet权限 搜索代码:TelnetEnable="0" 关键词TelnetEnable,将值改为“1”。值为“1” 表示开启,“0”表示关闭(默认)。 这样如果电信以后把密码改了,只要telnet还能用,你还可以找回密码。具体方法这里不说了,网上很多。 3、修改完毕后保存文件。 三、对修改好的配置文件进行加密还原 修改好配置文件后,再次利用代码加解密工具,对配置文件进行逆向加密操作。打开代码加解密工具,点击“打开文件”选择修改好的配置文件ctce8_HG526.cfg,点击“加密”,在下面会显示出加密后代码(如图4),保存文件为ctce8_HG526.cfg覆盖原文件。这样配置文件就制作好了。接下来,我们就将修改好的配置文件刷回到华为HG526无线猫中。 (图4) 四、刷华为HG526无线猫 记得刚才导出的优盘中有个e8_Config_backup文件夹吗?将修改好的配置文件ctce8_HG526.cfg复制到优盘的e8_Config_backup文件夹中,插入到华为HG526无线猫USB端口上。 关闭无线猫电源,然后重新打开。这时HG526无线猫会自动搜索优盘里的配置进行恢复。等待几分钟后就恢复好了。至此,大功告成! (注意:web管理页面的“设备管理”页面,“启用USB自动恢复配置文件”必须是打勾状态才能自动恢复) 附件工具:1、HG526代码加解密工具 2、文本编辑器notepad++

111,119

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧