我有一个用于填写个人资料的 HTML 表单,其中包括字符串和图像。我需要通过一个后端 api 调用将所有这些数据作为 JsonObject 发布,而后端需要将图像文件作为二进制数据发送。这是我的 Json 数据,如下所示:
var profile = {
"userId" : email_Id,
"profile.name" : "TML David",
"profile.profilePicture" : profilePhotoData,
"profile.galleryImageOne" : profileGalleryImage1Data,
"profile.referenceQuote" : "Reference Quote"
};
并且,profilePhotoData、profileGalleryImage1Data、profileGalleryImage2Data、profileGalleryImage3Data都是图片二进制数据(Base64)。
这是我的帖子功能:
function APICallCreateProfile(profile){
var requestUrl = BASE_URL + API_URL_CREAT_PROFILE;
$.ajax({
url: requestUrl,
type: 'POST',
data: profile,
dataType:DATA_TYPE,
contentType: CONTENT_TYPE_MEDIA,
cache:false,
processData:false,
timeabout:API_CALL_TIMEOUTS,
success: function (response) {
console.log("response " + JSON.stringify(response));
var success = response.success;
var objectData = response.data;
if(success){
alert('CreateProfile Success!\n' + JSON.stringify(objectData));
}else{
alert('CreateProfile Faild!\n'+ data.text);
}
},
error: function(data){
console.log( "error" +JSON.stringify(data));
},
failure:APIDefaultErrorHandler
})
.done(function() { console.log( "second success" ); })
.always(function() { console.log( "complete" ); });
return false;
}
但还是失败了,我检查了服务器端,它抱怨“没有找到多部分边界”。
谁能帮帮我,谢谢:)
更新:var DATA_TYPE = "json"; var CONTENT_TYPE_MEDIA = "multipart/form-data";