【ftp上传时间延迟问题,困扰两天了。】
192.168.1.112上,开了ftp和iis服务,有一段代码,能实现上传,但是有时间延迟的问题(由于这个,进度条搞不定了),传一个200M的文件,客户端代码执行了约40秒以后,ftp目录才会出现文件,而不是像flashfxp等工具那样,一上传就会生成文件, 我猜测可能有两个原因:一,文件是先http方式存到了iis服务器的内存里,再传到ftp目录,从而导致延迟;二,客户端将文件进行了二进制编码导致的延迟。 但具体是什么,实在是搞不清楚,忘有经验的同志们,给点提示。
FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://192.168.1.112:22/FtpTest/FtpReceive/" + Path.GetFileName(File1.PostedFile.FileName));
request.Credentials = new NetworkCredential("用户名", "密码");
request.KeepAlive = true;
request.Method = WebRequestMethods.Ftp.UploadFile;
request.UseBinary = true;
Stream inputStream = File1.PostedFile.InputStream;
long len = inputStream.Length;
request.ContentLength = len;
Stream requestStream = request.GetRequestStream();
try
{
int count = 0;
byte[] buffer = new byte[2048];
while ((count = inputStream.Read(buffer, 0, buffer.Length)) > 0)
{
requestStream.Write(buffer, 0, count);
}
}
catch
{
}
finally
{
inputStream.Close();
inputStream.Dispose();
requestStream.Close();
requestStream.Dispose();
}