问题描述
我有一个使用文件输入的Ajax上载,即使对于中等大小的上载也很完美(例如:12mb可以正常工作)。 但是,对于较大的上载(例如:40mb),是不是没有传递“额外的”表单数据,还是服务器端代码(经典ASP)试图在上载完成并传递数据之前处理它们?
js如下:
$('#file').fileinput({ maxFileSize: 45000 , maxFileCount: 1, required: true, uploadUrl: 'ajax_upload.asp?', uploadAsync: false, dropZoneEnabled: false, uploadExtraData: function (previewId, index) { //get checkbox values var strShowTo = '' showToUserIDs: $("input[name=showToUserIDs]").val(), $("input[name='showToUserIDs']").each(function () { if ($(this).is(':checked')) { thisValue = $(this).val() strShowTo = strShowTo + thisValue + ','; } }); var formData = new FormData(); var formData = { privateFolder: $('select[name="privateFolder"] option:selected').val(), title: $("input[name=title]").val(), sendEmailNotices: $("input[name=sendEmailNotices]").val(), body: $("input[name=description]").val(), showToUserIDs: strShowTo }; return formData; }, });
我认为这不是服务器设置问题,因为我已经将“最大请求实体正文限制”设置为100mb,并将“请求过滤/编辑功能设置” /“最大允许内容长度”设置为100mb。
当我上传一个大文件时,服务器端代码中的所有uploadExtraData值均为“”。 但是,它们在Chrome网络检查器的“表单数据”部分中列出:
1楼
原来,服务器端代码使用的组件(Motobit ASP Upload)将最大表单大小设置为15mb
Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")
Form.SizeLimit = 12*&H100000