我正在使用带有 jQuery 包装器的 v3.9 UI:
现在我已经解决了 IE9 中的“超出最大请求长度”错误(来自此处: FineUploader 错误处理 )。我所有的 FineUploader 代码都在这个其他链接中,我认为我不需要再次发布它。
我现在正在寻找一种更好的方法来让 IE 用户知道他们何时尝试上传过大的文件(Chrome、FF 用户会收到文件过大的警报,所以这不是问题)。我认为我不需要弄乱“消息”选项,因为它们对所有其他浏览器都应该正常工作。IE 不能正常工作!IE 用户将使用他们选择的文件一直到达服务器。为了处理上传超过 fileSize 属性的文件,我在服务器端有代码来检查内容长度 > 'n',如果是,则返回 JSON 成功 = false。见下文:
[HttpPost]
public JsonResult UploadFile(HttpPostedFileWrapper qqfile, int surveyInstanceId, int surveyItemResultId, int itemId, int loopingIndex)
{
bool isValid = false;
// file is too big, throw error.
if (qqfile.ContentLength > (1024*1024*2.5))
{
return CreateJsonResult(false);
}
More Code here if the file is 'good'
}
private JsonResult CreateJsonResult(bool isSuccess)
{
var json = new JsonResult();
json.ContentType = "text/plain";
json.Data = new { success = isSuccess };
return json;
}
这会使基于大小的无效文件上传短路。太好了,但是我可以返回更多的内容,而不是只返回 success=false 并让 FineUploader 使用这个额外的 JSON 值来向用户显示更有用的消息吗?目前所有显示的是“上传失败”。如何引用该无效文件的特定 html 元素,以便添加更具描述性的错误?
另外,我确实有 .on('error') 方法,但我不确定如何触发它。这将是一个逻辑的地方,因为文件上传大小问题是一个错误。帮助?谢谢。