如何诊断使用jQuery文件上传时出错?

时间:2014-12-14 11:26:21

标签: jquery file-upload jquery-file-upload

我正在尝试使用blueimp file upload plugin实现iframe传输文件上传,如下所示:

$(jQueryUploadInput).fileupload();
$(jQueryUploadInput).fileupload('send', {
        forceIframeTransport: true,
        fileUpload: profilePicInput,
        url: $.acme.resource.links.editProfilePictureUrl
    })
    .error(function(jqXHR, textStatus, errorThrown) {
        debugger;
    })
    .success(function(result, textStatus, jqXHR) {
        debugger;
    });

当我调试需要文件上传的视图时,我的debugger函数内的error调用被命中,但所有三个参数都是未定义的,就好像无故错误地调用了错误函数一样。 profilePicInput是包含一个所选文件的有效文件输入。 $.acme.resource.links.editProfilePictureUrl指向的操作是一个有效的操作URL,但我的控制器中的断点永远不会被击中。我也不知道如何继续。

我知道API文档说:

  

fileInput属性必须是输入为的jQuery集合   输入有效文件选择的文件。

所以我尝试了两种设置fileUpload选项的方法,结果相同。

fileUpload: profilePicInput
fileUpload: $(profilePicInput)

顺便说一下,这个代码是在视图模型脚本中调用的,而不是直接在视图本身中调用,如果这可能意味着影响任何内容。我没有看到,因为viewmodel脚本无论如何都被加载到视图中。

1 个答案:

答案 0 :(得分:0)

这是一个常见问题:

最后一个链接建议如下:

processalways: function(e,data){
  if (data.files.error) alert(data.files[0].error);
}

您还可以访问任何其他Processing Callback Options。请参阅API

例如,也可以使用processfail callback

检查单个文件的任何处理失败
function (e, data) {
    console.log('Processing ' + data.files[data.index].name + ' failed.');
}

我希望能回答你的问题。如果我没有正确理解你的问题,请告诉我。