bootstrap-fileinput进行文件上传
var $el = $('#file');
$el.fileinput().fileinput('refresh', {
uploadUrl: '/BroadcastContent/Upload',
showPreview: false,
showUpload: false,
showCancel: false,
showUploadedThumbs: false,
maxFileSize: 512000,
});
在使用bootstrap-fileinput视频上传的过程中遇到过这样一个问题,当限制了文件上传的最大限制为500M时。在上传小于500M的文件的时候还是会报错,出现“确认 applicationhost.config 或 web.config 文件中的 configuration/system.webServer/security/requestFiltering/requestLimits@maxAllowedContentLength 设置。“这种错误,经过查阅得出该错的原因是 "Web 服务器上的请求筛选被配置为拒绝该请求,因为内容长度超过配置的值“。
解决方法:
不仅要修改js的maxFileSize,还要在web.config文件中修改
web.config
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="524288000"/>
</requestFiltering>
</security>
<httpRuntime targetFramework="4.6.1" maxRequestLength="524288000" />
上面bootstrap-fileinput的maxFileSize中的单位是Kilobyte,而web.config中的Length的单位是Byte
为了方便后期的修改,所以将maxFileSize的值配置到配置文件中
web.config
<add key="MaxFileSize" value="512000" />
javascript
var $el = $('#file');
$el.fileinput().fileinput('refresh', {
uploadUrl: '/BroadcastContent/Upload',
showPreview: false,
showUpload: false,
showCancel: false,
showUploadedThumbs: false,
maxFileSize: @System.Configuration.ConfigurationManager.AppSettings["MaxFileSize"],
});