Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json 处理IE并且它不';不能处理文件大小等_Json_Browser_Error Handling_Fine Uploader - Fatal编程技术网

Json 处理IE并且它不';不能处理文件大小等

Json 处理IE并且它不';不能处理文件大小等,json,browser,error-handling,fine-uploader,Json,Browser,Error Handling,Fine Uploader,我正在使用带有jQuery包装器的v3.9 UI: 现在我已经解决了IE9中的“超过最大请求长度”错误(从这里: ).我所有的FineUploader代码都在这另一个链接中,我想我不需要再发布了 我现在正在寻找一种更好的方法,让IE用户知道他们何时尝试上载过大的文件(Chrome、FF用户收到过大文件警报,所以这不是问题)。我不认为我需要搞乱“messages”选项,因为它们在所有其他浏览器上都正常工作。这是因为它没有发挥应有的作用!IE用户将使用他们选择的文件一直访问服务器。为了处理上传超过f

我正在使用带有jQuery包装器的v3.9 UI:

现在我已经解决了IE9中的“超过最大请求长度”错误(从这里: ).我所有的FineUploader代码都在这另一个链接中,我想我不需要再发布了

我现在正在寻找一种更好的方法,让IE用户知道他们何时尝试上载过大的文件(Chrome、FF用户收到过大文件警报,所以这不是问题)。我不认为我需要搞乱“messages”选项,因为它们在所有其他浏览器上都正常工作。这是因为它没有发挥应有的作用!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('error')方法,但我不确定如何触发它。这将是一个合乎逻辑的地方,因为文件上载大小问题是一个错误。帮忙?谢谢

  • 使用请求的内容长度强制执行文件大小限制不是一个好主意。默认情况下,Fine Uploader发送的所有上载请求都是多部分编码的。多部分编码请求的内容长度是整个请求的大小,而不仅仅是文件的大小
  • 在对上一个问题的答案的评论中,我指出了文档中的一个特定部分,该部分允许您控制在Fine Uploader UI模式下出现在文件旁边的失败文本。您只需将
    failedUploadTextDisplay
    选项的
    mode
    属性设置为“自定义”。服务器端,返回您希望在JSON响应的“error”属性中出现在失败文件旁边的错误消息文本。有关更多详细信息,请参阅的底部
  • 更新

    看起来您正在使用
    HttpPostedFileWrapper
    ContentLength
    属性,该属性返回上载文件的大小。起初,这让我有点困惑,因为内容长度通常指的是请求的大小。微软方面,该物业的名称选择很糟糕,IMHO。所以,你可以在我的回答中忽略1