我正在使用fineuploader上传文件。一切都适用于200MB以下的文件。一切都失败了。创建一个新文件,但它是空的(表示0kb)
已经修改了我的web.config以允许最多500mb的上传。但似乎没有帮助。
的web.config:
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="524288000" />
</requestFiltering>
</security>
和
<httpRuntime targetFramework="4.5" maxRequestLength="512000" executionTimeout="900" requestLengthDiskThreshold="512000" />
控制器:
[HttpPost]
public ActionResult Upload(string qqfile)
{
try
{
Stream stream = Request.Files.Count > 0 ? Request.Files[0].InputStream : Request.InputStream;
string filePath = Path.Combine(@"C:\Temp\100", qqfile);
using (Stream file = System.IO.File.OpenWrite(filePath))
{
stream.CopyTo(file);
}
....
为什么我不能上传超过200MB的文件?
答案 0 :(得分:0)
首先想到的是IIS中的限制。在IIS7中的“集成模式”之前,必须处理IIS-MetaBase以设置IIS属性。
如果您在“集成模式”下运行网站或使用VS开发网络服务器(基于Cassini),它可能会有效,如果您在“经典模式”下运行生产,它将不会使用集成配置和回到元数据库。如果是,并且您尚未编辑元数据库,那么通过默认元数据库上传限制的任何上传都将失败。
从您的代码/配置/问题我无法确定您遇到问题的网站运行的模式 - 这可能对您的问题至关重要 - 所以请提供这些详细信息。
答案 1 :(得分:0)
想出来: 这是一个web.config设置:
的web.config:
<httpRuntime targetFramework="4.5" maxRequestLength="2147483647" executionTimeout="90" requestLengthDiskThreshold="2147483647" />
和
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="4294967295" />
</requestFiltering>
</security>
</system.webServer>
感谢Yasser指出我正确的方向