我必须发布哪种内容类型才能上传文件

时间:2013-04-10 05:42:09

标签: java jquery ajax

如何将文件从jquery上传到使用multipart / form-data的resteasy服务?

我尝试了以下但它总是返回失败。它显示不支持的媒体类型。

jQuery("#Upload").click(function () {
    $.ajax({
        url: serviceurl,
        type: 'POST',
        //contentType: 'application/json; charset=utf-8',
        enctype: 'multipart/form-data',
        data: {
            file: filename
        },
        cache: false,
        success: function (data) {
            alert('success');
            return false;
        },
        error: function (data, status) {
            alert("failue");
            alert(status);
        }
    });

1 个答案:

答案 0 :(得分:0)

您可以这样发布:

    function uploadFile() {
        var fd = new FormData();
        fd.append("fileToUpload", FILE TO BE UPLOADED);
        var xhr = new XMLHttpRequest();
        xhr.upload.addEventListener("progress", uploadProgress, false);
        xhr.addEventListener("load", uploadComplete, false);
        xhr.addEventListener("error", uploadFailed, false);
        xhr.addEventListener("abort", uploadCanceled, false);
        xhr.open("POST", "URL TO POST");
        xhr.send(fd);
    }

如果你想要你可以使用添加的监听器(uploadProgress,uploadComplete,uploadFailed和uploadCanceled),否则忽略这些行。

  1. FILE TO BE UPLOADED替换为要上传的文件。
  2. URL TO POST替换为要发布到的网址。
  3.   

    如果您需要更多帮助,请与我们联系,如果有帮助则请注明   作为一个。谢谢。