我正在通过FTP上载613.6 kb的文件,它是PDF文件。当它到达服务器时,现在为82 KB。
在我的Web.Config中
<httpRuntime executionTimeout="7200" maxRequestLength="2097151" requestValidationMode="2.0"/>
我的密码是这个
void UploadFileToFtp(FileInfo file, FtpWebRequest req)
{
int buffLength = 2048;
using (var reader = new BinaryReader(file.OpenRead(), Encoding.Default))
{
using (var writer = new BinaryWriter(req.GetRequestStream()))
{
while (reader.PeekChar() > 0) writer.Write(reader.ReadBytes(buffLength));
writer.Flush();
writer.Close();
}
reader.Close();
}
}
我以为它与编码有关,所以我尝试了ASCII,Default和Unicode,但两者都没有什么不同。我添加了“冲洗”和“关闭”的想法,但没有帮助。我在编码方面遇到错误,一旦添加错误便消失了,但是没有其他错误。
最佳答案
可能是文件包含零,并且您的比较应该是reader.PeekChar() >=0
而不是reader.PeekChar() > 0
吗?
关于c# - C#ASPX FTP文件大小上传后错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7971446/