如何将一个文件从jquery上传到一个使用multipart/form-data的restasy服务?
我尝试了以下操作,但它总是返回失败。显示不支持的媒体类型。
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);
}
});
你可以这样发布:
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和uploadcancelled),否则忽略这些行。
- 将
FILE TO BE UPLOADED
替换为待上传的文件 - 将
URL TO POST
替换为要发布到的URL
如果你需要更多的帮助,请告诉我,如果它是有帮助的标记作为一个。谢谢你。