我使用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('錯誤')方法,但我不知道如何觸發此。這將是一個看起來很合理的地方,因爲文件上傳大小問題是一個錯誤。幫幫我?謝謝。