1.请问怎么加进度条,希望是异步的,不希望一出现进度条就是满的,没有一个渐进的过程,这个我不太了解,有人给例子就太好了。
2.有没有一个检验机制,就是能快速判断这个ftp连不连得上,如果连不上,能马上反应
3.如果没有2的机制,那么只能写try catch来完成,问一下怎样出错后处理,才不会产生垃圾以及文件被占用情况
谢谢大家,100分是我最多能散的分了,单个问题也行,相应给分。
public void UploadFile(string filename,ProgressBar progressBar)
{
FileInfo fileInf = new FileInfo(filename);
string uri = "ftp://" + ftpServer + ":" + ftpPort.ToString() + "/" + fileInf.Name;
FtpWebRequest reqFTP;
reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(uri));
reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);
reqFTP.KeepAlive = false;
reqFTP.Method = WebRequestMethods.Ftp.UploadFile;
reqFTP.UseBinary = true;
reqFTP.ContentLength = fileInf.Length;
int buffLength = 512;
byte[] buff = new byte[buffLength];
int contentLen;
long hasRead=0;
long totalSize = fileInf.Length;
FileStream fs = fileInf.OpenRead();
Stream strm=null;
try
{
progressBar.Maximum = int.MaxValue;
progressBar.Minimum = 0;
progressBar.Value = 0;
contentLen = fs.Read(buff, 0, buffLength);
strm = reqFTP.GetRequestStream();
while (contentLen != 0)
{
strm.Write(buff, 0, contentLen);
//用buffer判断进度对不对呢?
contentLen = fs.Read(buff, 0, buffLength);
hasRead += contentLen;
//请问怎么改多线程。
progressBar.Value = (int)(int.MaxValue * ((double)hasRead / (double)totalSize));
}
//strm.Close();
//fs.Close();
MessageBox.Show("Upload finished ");
progressBar.Hide();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Upload Error ");
}
finally
{
if(strm!=null)
strm.Close();
fs.Close();
}
}
工作中用到winform上传文件(-_-!,很少用winform,搞了半天) 碰到一点问题,解决如下 1、501 为实现错误 解决方法: 先把IISWEB服务扩展中的WebDev打开 然后 IIS站点添加MIME txt类型 常见的MIME类型如下 ...
学生作业(个人经验仅供参考): 1. Windows下虚拟机Ubuntu 14.04 搭架vsftp 2. Winform下对FTP操作
要实现winform的文件上传功能,ftp什么的暂时不会,上网找了许多,最后搞出来了,不算是原创,但把一些东西总结在了一起 #region 上传、下载类 /// /// winform形式的文件传输类 /// public class ...
一个用winform开发的FTP上传、下载、删除文件的简单列子: 配套源码下载:https://download.csdn.net/download/djk8888/10473477 注释尽可能详尽,希望大家一看就会。 页面相关代码: using System; using ...
winform实现FTP上传、下载、删除文件。自己写的Demo,亲测可用!
在WINFORM 框架下,实现对FTP服务器的图片上传,在线浏览和删除操作。 本代码为本人原创,希望对大家有帮助。
winform上传文件有两种方式 1种用FTP。这个方式比较推荐的方式。只是复杂一点。需要架设FTP服务器。还必须FTP好多API要了解。 但是功能比较强大。在客户端能操作服务器上任何文件,可以新建文件夹。 2用...
winform 上传文件夹到指定FTP
C#winform FTP图片上传下载
一个winform程序,简单的FTP 上传下载功能 一个winform程序,简单的FTP 上传下载功能
由于项目需要开发了一套,远程服务器ftp下载文件的工具,由于各个服务器使用的ftp服务器不同,c#自带的ftp类是无法使用的,所以使用ftp.exe这个工具来...这种方式就是利用自带的类进行ftp上传下载,经过尝试有些可用
由于研究Winform项目的版本自动检测更新,需要用到Ftp下载更新包文件。 特写出这个小Demo. 注意点: Ftp类编写需要参考FTP的帮助文档 同步更新下载进度状态、下载完成状态的方法:将更新事件的方法绑定到Ftp封装类...
C#WinForm做FTP上传下载获取文件列表齐全
1 /* 2 FTPFactory.cs 3 Better view with tab space=4 4 Written by Jaimon Mathew (jaimonmathew@rediffmail.com) 5 Rolander,Dan (Dan.Rolander@marriott.com) has mo...
上传文件:窗体代码 一次上传多个文件(grdAffixFilesList中需要上传的) private Boolean UploadFile() { string filename; int upCount=0; for (int i = 0; i < this.grdAffixFiles...
#region 第一种方法,需要有匿名访问的权限 //System.Net.WebClient web1 = new WebClient();//webclient.Credentials = new NetworkCredential("huhaibin", "123456");//如果没有匿名访问的权限,要明确指明登录...
Winform FTP 文档管理-登录
.net ftp多线程批量文件上传服务
直接用地址下载,引用进度条: ... /// 从ftp服务器下载文件的功能----带进度条 /// </summary> /// <param name="ftpfilepath">ftp下载的地址</param> /// <param ...
求一份用winform做的FTP上传下载,支持断点续传的源码,已经找了几天了没找到,跪求!谢谢!
1.配置ftp 服务器 (xp下局域网内)1.server下,打开设置-->控制面板-->管理工具-->IIS,找到本地计算机下的ftp站点,打开默认ftp站点的属性,做如下配置:1)ftp站点选项卡IP地址:指定一IP地址,如:192.168.0.101...
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; using System.IO; namespace JianKunKing.Common.Ftp { /// <... /// ftp方式文件下载...
原来使用asp.net上传控件上传 那个虽然简单但是页面不是很友好 然后就用了uploadify上传控件 这个控件虽然界面友好 但是大文件还是不能上传 而且在不同的浏览器会出现session丢失问题 所以我到了个ftp上传的方法 ...
String remotePath = "123"+ "/"+checkDate; String[] path = remotePath.split("/"); for(int i=0;i < path.length;... if (isDirExist(path[i], sf)) {...
怎么解决C# winform 在ftp下载比较大一点文件时界面经常卡死 问题
c# 实现文件FTP上传至服务器 WebClient上传文件至服务器(不带进度条) 要上传的文件(全路径格式) <param name="strUrlDirPath">Web服务器文件夹路径 <returns>True/False是否上传成功</returns>
使用IIS搭建好一个FTP匿名服务器后就可以使用这个来连接 并操作服务器上的文件夹,提供了增 删 查 上传 下载的方法。
private void button1_Click(object sender, EventArgs e) { OpenFileDialog ofd = new OpenFileDialog(); ofd.Title = "打开(Open)"; ofd.FileName = "";
1、501 为实现错误解决方法:先把IISWEB服务扩展中的WebDev打开。然后,IIS站点添加MIME txt类型 常见的MIME类型如下:超文本标记语言文本 .html,.html text/html 普通文本 .txt text/plain RTF文本 .rtf ...