当我在C#中通过HttpWebRequest上传大文件时,我得到的流太长

当我在C#中通过HttpWebRequest上传大文件时,我得到的流太长,c#,upload,httpwebrequest,C#,Upload,Httpwebrequest,我有一个简单的功能,我可以通过网页上传文件。 当我上传大小为16MB的文件时,它可以工作,但如果我尝试使用更大的文件,例如57MB,程序会抛出 流太长异常 Stream memStream = new MemoryStream(); for (int i = 0; i < files.Length; i++) { memStream.Write(boundarybytes, 0, boundarybytes.

我有一个简单的功能,我可以通过网页上传文件。 当我上传大小为16MB的文件时,它可以工作,但如果我尝试使用更大的文件,例如57MB,程序会抛出
流太长异常

Stream memStream = new MemoryStream();            

for (int i = 0; i < files.Length; i++)
            {
                memStream.Write(boundarybytes, 0, boundarybytes.Length);
                var header = string.Format(headerTemplate, "uplTheFile", files[i]);
                var headerbytes = Encoding.UTF8.GetBytes(header);

                memStream.Write(headerbytes, 0, headerbytes.Length);

                using (var fileStream = new FileStream(files, FileMode.Open, FileAccess.Read))
                {
                    var buffer = new byte[fileStream.Length];
                    var bytesRead = 0;
                    while ((bytesRead = fileStream.Read(buffer, 0, buffer.Length)) != 0)
                    {
                        memStream.Write(buffer, 0, bytesRead);
                    }

                }
            }

            memStream.Write(endBoundaryBytes, 0, endBoundaryBytes.Length);
            request.ContentLength = memStream.Length;

            using (Stream requestStream = request.GetRequestStream())
            {
                memStream.Position = 0;
                byte[] tempBuffer = new byte[memStream.Length];
                memStream.Read(tempBuffer, 0, tempBuffer.Length);
                memStream.Close();
                requestStream.Write(tempBuffer, 0, tempBuffer.Length);
            }

            using (var response = request.GetResponse())
            {
                Stream stream2 = response.GetResponseStream();
                StreamReader reader2 = new StreamReader(stream2);
                return reader2.ReadToEnd();
            }

那么,您连接的服务器有限制吗?在这种情况下,您无论如何都无法上传,对吗?

for(int i=0;i
是问题所在。

下面的链接有帮助吗?您好,服务器不在我的计算机上。默认情况下,IIS的大小限制比较低(如果我没有记错的话,为20或30 MB)。您应该注意到这是一个服务器设置,不能在客户端绕过它。你应该考虑要求服务器管理员参数化更高的限制,你应该考虑改写答案,而不是让它看起来像一个问题(应该进入评论部分),而不是限制问题!我可以通过网页上传。
    HttpWebRequest request = HttpWebRequest.Create(url);
    request.Timeout = 3600000;
    request.Method = "POST";
    request.KeepAlive = true;