我正在使用ASP.Net MVC 5构建一个应用程序。当上传一个大文件时,不是那么大(200MB),浏览器会给我一个“连接重置”错误。托管由Godaddy完成(豪华 - 共享托管计划)。
我搜索过无数的论坛,当然在这里,答案几乎总是一样的:
添加到system.web:
<httpRuntime maxRequestLength="2147483647" executionTimeout="999999"/>
和/或添加到system.webServer:
<security>
<requestFiltering>
<requestLimits maxUrl="32767" maxQueryString="32767" maxAllowedContentLength="2147483647" />
</requestFiltering>
</security>
它必须放在Web.config中(在根目录下不是views文件夹中的那个)。
我知道maxRequestLenght
和maxAllowedContentLenght
不是相同的单位(字节与千字节)。所以我尝试了不同的联合,相同的数字,不同的...
我也尝试过调用GoDaddy并询问他们是否可能在他们的最后,他们说,不,但他们告诉我,我可以在根目录中添加一个“.user.ini”文件,其中包含:
upload_max_filesize=2000M
memory_limit=128M
max_execution_time=99999
post_max_size=2000M
max_input_time=99999
这也不起作用......
这是代码,如果您需要控制器,只需询问,但由于浏览器有超时,我不明白这一点:
查看:
@using (Html.BeginForm("CreateSingleTune", "Upload", null, FormMethod.Post, new { enctype = "multipart/form-data" }))
{
@Html.AntiForgeryToken()
...
<div class="form-group">
@Html.Label(Resource.SampleLabel, new { @class = "control-label col-md-2" })
<div class="col-md-10">
<input type="file" multiple="multiple" data-val="true" data-val-required="@Resource.ImageRequiredErrorMessage" id="SingleTuneViewModel_Sample" name="SingleTuneViewModel.Sample" />
@Html.ValidationMessageFor(model => model.SingleTuneViewModel.Sample, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="@Resource.CreateButton" class="btn btn-primary" />
</div>
</div>
...
}
型号:
public class SingleTuneViewModel
{
[Required]
[Display(Name = "Title")]
public string Name { get; set; }
[Required]
[Display(Name = "Album")]
public string AlbumName { get; set; }
[Required]
[Display(Name = "Tune")]
public HttpPostedFileBase Tune { get; set; }
[Required]
[Display(Name = "Sample")]
public HttpPostedFileBase Sample { get; set; }
[Display(Name = "Price")]
[DisplayFormat(DataFormatString = "{0:F2}", ApplyFormatInEditMode = true)]
public decimal UnitPrice { get; set; }
}
有人可以帮助,我没有想法,而且看起来很简单。我唯一选择使用“块”吗?