jQuery 500在文件上传POST请求时出错

时间:2018-12-17 20:00:53

标签: javascript jquery ajax post file-upload

我正在尝试通过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错误,因为我发送的文件格式不正确-但是,我不知道从哪里可以成功格式化文件。

0 个答案:

没有答案