作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在项目中上传视频时遇到问题。如果文件大约有 25mb,则上传效果良好,但如果我尝试上传更大的文件 - 80mb,则会收到“失败”消息。
Web.config 文件:
<httpRuntime maxRequestLength="104857600" executionTimeout="3600" />
我在 View 文件中的函数:
function createVideoUploader() {
videoTempName = '@Guid.NewGuid().ToString().Replace("-", "").Substring(0, 13)';
var uploader = new qq.FileUploader({
element: document.getElementById('video-uploader'),
allowedExtensions: ['3g2', '3gp', 'avi', 'f4v', 'flv', 'm4v', 'mov', 'mp4', 'mpeg', 'mpg', 'mts', 'ogv', 'webm', 'wmv'],
sizeLimit: 838860800, //304857600,
action: '@Url.Action("Upload", "Upload")',
params: { 'fileTempName': videoTempName },
multiple: false,
onSubmit: function (id, fileName) {
$('div.qq-upload-button').hide();
$(".qq-upload-drop-area").remove();
},
onCancel: function() {
createVideoUploader();
},
onComplete: function (id, fileName, responseJSON) {
if(responseJSON.success == false) {
uploaded = false;
$("#videoUploadedFail").show(); // show video error
var postData = { 'fileTempName': videoTempName };
$.ajax({
type: 'POST',
url: '@Url.Action("DeleteTemp", "Upload")',
data: $.param(postData,true),
async: false
});
} else if(responseJSON.success == true) {
uploaded = true;
$('div.qq-upload-button').hide();
var postData = { 'fileTempName': videoTempName };
$.post("@Url.Action("PreprocessVideo", "Upload")", $.param(postData,true),
function (data) {
appendSuccess("#flowVideo");
totalTime = secsToTime(data.seconds); // seconds to time
$("#duration").html(totalTime);
$(".timeText").html(totalTime);
$("#orderSlides").css("display", "inline-block");
});
}
}
});
if (!($.browser.msie))
$('span.qq-upload-span').append(' or drop file here');
}
最佳答案
IIS 7+ 现在还要求您设置较新的 requestFiltering/requestLimits/maxAllowedContentLength
属性,该属性的默认值为 maxAllowedContentLength
30000000
(大约 28.4MB),这与您所看到的内容相符。
这应该与 httpRuntime/maxRequestLength
属性一起设置,以确保 IIS(通过 maxAllowedContentLength
以字节为单位)和 ASP.NET(通过 maxRequestLength
以千字节为单位)达成一致。
您应该能够通过应用程序 web.config 的 requestLimits 元素更改此设置,以允许更合适的最大值:
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="104857600" />
</requestFiltering>
</security>
</system.webServer>
需要记住的一件事是,一旦内容长度超过限制,请求过滤就会在服务器端执行 - 因此没有什么可以阻止用户尝试上传 150MB,但一旦 100.1 就会失败MB已上传。
关于c# - 如何上传大于 25 mb 的视频 - C#、JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25606071/
我是一名优秀的程序员,十分优秀!