上传大文件到ftpC#代码使用(FileStreamfs=newFileStream(FileLoc,FileMode.Open,FileAccess.Read)){stringftpUrl=string.Format("{0}/{1}",uploadUrl,uploadFileName);FtpWebRequestrequestObj=FtpWebRequest.Create(ftpUrl)asFtpWebRequest;requestObj.Method=WebRequestMethods.Ftp.UploadFile;requestObj.Credentials=newNetworkCredential(Uid,Pass);使用(StreamrequestStream=requestObj.GetRequestStream()){byte[]buffer=newbyte[8092];int读取=0;while((read=fs.Read(buffer,0,buffer.Length))!=0){requestStream.Write(buffer,0,read);}requestStream.Flush();if(fs!=null){fs.Close();fs.Dispose();}if(requestStream!=null){requestStream.Close();requestStream.Dispose();}}}有时这段代码上传文件真的很好但有时它会上升-文件的某些部分是不完整的文件并且不会给出任何错误。任何人都可以帮助我为什么有时它只上传文件的一部分而不是洞文件。这是我们用来上传到FTP的代码。它看起来很像你自己。尽管如此,我发布它供您参考,因为我们没有任何此类报告的失败以上都是关于C#学习教程:将大文件上传到ftp希望您多关注教程—privatevoidUploadFile(stringfileToUpload){Output=newUri(Path.Combine(Output.ToString(),Path.GetFileName(fileToUpload)));FtpWebRequest请求=WebRequest.Create(Output)asFtpWebRequest;request.Method=WebRequestMethods.Ftp.UploadFile;//为了与MicrosoftWindowsServer2003+IIS一起工作,我们不能使用被动模式。请求.UsePassive=false;request.Credentials=newNetworkCredential(用户名,密码);//将文件内容复制到请求流中。流目标=request.GetRequestStream();FileStreamsrc=File.OpenRead(fileToUpload);intbufSize=(int)Math.Min(src.Length,1024);byte[]buffer=newbyte[bufSize];intbytesRead=0;intnumBuffersUploaded=0;做{bytesRead=src.Read(buffer,0,bufSize);dest.Write(buffer,0,bufSize);numBuffersUploaded++;}while(bytesRead!=0);目的地。关闭();src.关闭();FtpWebResponse响应=(FtpWebResponse)request.GetResponse();if(response.StatusCode!=FtpStatusCode.ClosingData){Console.Error.WriteLine("请求{0}:上传文件到FTP服务器时出错:{1}({2})",Id,response.StatusDescription,response.StatusCode);}else{Console.Out.WriteLine("请求{0}:成功传输文件到{1}",Id,Output.ToString());}}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如有转载请注明出处:
