我使用V3.9 UI使用jQuery包装:处理IE浏览器,它不处理档案大小等
现在,我已经内IE9解决了我的“超过最大请求长度”的错误(从这里开始: FineUploader Error Handling )。我所有的FineUploader代码都在这个其他链接中,并不认为我需要再次发布它。
我现在正在寻找一种更好的方式,让IE用户知道他们何时试图上传过大的文件(Chrome,FF用户会收到太大的文件警报,所以这不是问题) 。我不认为我需要混淆'消息'选项,因为这些选项适用于所有其他浏览器。它的IE不能正常工作! IE用户将使用他们选择的文件一直到达服务器。为了处理上传超过fileSize属性的文件,我在我的服务器端检查了内容长度>'n'的代码,如果是,则返回JSON success = 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('错误')方法,但我不知道如何触发此。这将是一个看起来很合理的地方,因为文件上传大小问题是一个错误。帮帮我?谢谢。