.NET ftp上传大附件显示进度条
时间:2011-12-17
来源:互联网
要上传几百兆的附件,使用ftp上传,代码如下:
// localFile 客户端文件的完整路径
// uploadfile ftp完整路径
private void ftpUploadFile(string localFile, string uploadfile) //ftp上传
{
System.IO.FileInfo fi = new System.IO.FileInfo(localFile);
FileStream fs = fi.OpenRead();
long length = fs.Length;
FtpWebRequest req = (FtpWebRequest)WebRequest.Create(uploadfile.Trim() + fi.Name.Trim());
req.Credentials = new NetworkCredential("用户名", "密码");
req.Method = WebRequestMethods.Ftp.UploadFile;
req.UseBinary = true;
req.ContentLength = length;
req.Timeout = 10 * 1000;
try
{
Stream stream = req.GetRequestStream();
int BufferLength = 1;
byte[] b = new byte[BufferLength];
int i;
while ((i = fs.Read(b, 0, BufferLength)) > 0)
{
stream.Write(b, 0, i);
}
stream.Close();
stream.Dispose();
}
catch (Exception ex)
{
MessageBox.Show(this.Page,ex.Message);
}
}
由于上传的附件比较大,需要显示进度条,在网上查了很多资料,结果都不如意,求高手帮忙,能提供实例代码,兄弟感激不近!
// localFile 客户端文件的完整路径
// uploadfile ftp完整路径
private void ftpUploadFile(string localFile, string uploadfile) //ftp上传
{
System.IO.FileInfo fi = new System.IO.FileInfo(localFile);
FileStream fs = fi.OpenRead();
long length = fs.Length;
FtpWebRequest req = (FtpWebRequest)WebRequest.Create(uploadfile.Trim() + fi.Name.Trim());
req.Credentials = new NetworkCredential("用户名", "密码");
req.Method = WebRequestMethods.Ftp.UploadFile;
req.UseBinary = true;
req.ContentLength = length;
req.Timeout = 10 * 1000;
try
{
Stream stream = req.GetRequestStream();
int BufferLength = 1;
byte[] b = new byte[BufferLength];
int i;
while ((i = fs.Read(b, 0, BufferLength)) > 0)
{
stream.Write(b, 0, i);
}
stream.Close();
stream.Dispose();
}
catch (Exception ex)
{
MessageBox.Show(this.Page,ex.Message);
}
}
由于上传的附件比较大,需要显示进度条,在网上查了很多资料,结果都不如意,求高手帮忙,能提供实例代码,兄弟感激不近!
作者: stickonaspnet 发布时间: 2011-12-17
是 Web 下吗?能访问到 Session 吗?如果能,那么 while 语句中每次都记录已经读取到的字节数到 Session。然后通过 Ajax 请求定时获取已读取到的字节数,转成进度条显示就可以了。
作者: orain 发布时间: 2011-12-17
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28