我正在通过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/

10-09 06:31
查看更多