目前項目中要求一次性上傳多個文件到服務器,用Ftp怎麼做啊
有沒有只創建一條接,再把多個文件通過這個邊接上傳.
我現在是每上傳一個文件就創建一條連接,上傳完再關閉.但總感覺慢.因為在連接要花時間.求教!!!!小弟謝了
有沒有只創建一條接,再把多個文件通過這個邊接上傳.
我現在是每上傳一個文件就創建一條連接,上傳完再關閉.但總感覺慢.因為在連接要花時間.求教!!!!小弟謝了
解决方案 »
- 自动下载在线浏览的PDF文件
- 灵异事件
- 问个关于CodeSmith的简单问题
- 雅虎公司C#笔试题,说说答案。
- iewc:TreeView是什么控件?.net2.0能用吗?
- 在from里有没有鼠标移菜单上面时触发的事件``````
- vs2003 C#环境下成一个数据集会产生一个.xsd的文件,可是查找代码的时候还有一个同名的.cs文件,为什么看不到
- 我想用magiclibrary1.7做类似于OfficeXP风格的工具栏,但这个库好像不提供toolbar?
- socket 和 remoting的选择。
- c#问题,不是很明白。。。。。
- 科技服务于生活,那么我们还缺点什么?
- 如何把硬盘F:\Downloads中的所有文件绑定到DataGridView显示(就显示文件名)?
FileStream fileStream = null;
FtpWebResponse upLoadResponse = null;
int percent = 0;
try
{
string uriAllPath = uriUpLoad + fileAlias;
//這里每次都創建了一條連接,有什麼方法改變沒
FtpWebRequest upLoadRequest = (FtpWebRequest)WebRequest.Create(uriAllPath);
upLoadRequest.Method = WebRequestMethods.Ftp.UploadFile;
upLoadRequest.Proxy = null;
requestStream = upLoadRequest.GetRequestStream(); fileStream = File.OpenRead(filePath);
byte[] byteArr = new byte[1024];
int byteLen;
while (true)
{
if (worker.CancellationPending)
{
e.Cancel = true;
break;
}
byteLen = fileStream.Read(byteArr, 0, byteArr.Length);
if (byteLen == 0)
break;
requestStream.Write(byteArr, 0, byteLen);
numToComplete = numToComplete + byteLen;
percent = (int)((float)numToComplete / (float)(total*1024) * 100);
if (percent <= 100)
worker.ReportProgress(percent);
}
requestStream.Close();
upLoadResponse = (FtpWebResponse)upLoadRequest.GetResponse();
upLoadResponse.Close();
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
finally
{
if (upLoadResponse != null)
upLoadResponse.Close();
if (requestStream != null)
requestStream.Close();
if (fileStream != null)
fileStream.Close();
}
這個是我做的.循環調用這個方法