-3

如何将文件从 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);
        }
    });
4

1 回答 1

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为要发布到的 URL。

让我知道您是否需要更多帮助,如果有帮助,请将其标记为一个。谢谢你。

于 2013-04-10T05:52:34.060 回答