我正在尝试通过AJAX向公共API提交文件。 Here是我正在使用的API,我们将在稍后解释,我们可以假设它正在正常工作。
这是我的HTML表单和输入内容:
<form id="innerFileSection" name="innerFileSection" >
<input id="fileUpload" type="file" name="fileUpload" accept=".wav,.mp3"/>
<label id="labelForFileUpload" for="fileUpload">Upload File</label>
</form>
还有我的Javascript:
var item = document.forms["innerFileSection"]["fileUpload"].files[0];
var form = new FormData();
console.log(item);
form.append("file", item);
$.ajax("https://aimastering.com:443/api/library_audios", {
method: "POST",
processData: false,
contentType: false,
headers: {
Authorization: "Bearer " + key,
accept: "application/json",
"Content-Type": "multipart/form-data"
},
data: {
form
}
})
在这里,“ key”是我的Bearer API Key的变量。
我已经在Postman(API接口)中对此进行了测试,并成功返回。这是从邮递员自动生成的AJAX:
var form = new FormData();
form.append("file", "C:\\Users\\me\\Desktop\\sound.wav");
var settings = {
"async": true,
"crossDomain": true,
"url": "https://aimastering.com:443/api/library_audios",
"method": "POST",
"headers": {
"accept": "application/json",
"Content-Type": "multipart/form-data",
"cache-control": "no-cache",
"Postman-Token": "9d3609f6-f495-4978-b53e-3e392ca914aa"
},
"processData": false,
"contentType": false,
"mimeType": "multipart/form-data",
"data": form
}
$.ajax(settings).done(function (response) {
console.log(response);
});
我假设我收到500错误,因为我发送的文件格式不正确-但是,我不知道从哪里可以成功格式化文件。