簡體   English   中英

在jQuery Ajax POST Api調用中發送文件

[英]Sending a file in jquery ajax POST Api call

當我嘗試通過發送任何文件來調用外部API時,使用Jquery。 我遇到415不支持的媒體類型錯誤。 我正在嘗試使用beforeSend()函數中的FormData()和標頭數據發送文檔。 建議我發送數據的正確方法。

<div id="folder-browser">
  <input type="file" id="file-select" name="photos" />
  <button id="myButton" value="click me">click me</button>
</div>
$("#myButton").click(function() {
  var myData = new FormData();
  var myFile = document.getElementById("file-select");
  myData.append(myFile.files[0].name, myFile.files[0]);

  $.ajax({
    url: 'http://10.96.45.179/RightFax/API/attachments',
    data: myData,
    processData: false,
    beforeSend: function(xhr) {
      xhr.setRequestHeader('Authorization', 'Basic c3lzYWRtaW46cGFzc3dvcmQtMQ==');
    },
    type: 'POST',
    success: function(result) {
      console.log(result);
       return result;
    }
  });
});

查詢2:如果我的文檔存在於URL中。 請讓我知道如何將URL作為文件源傳遞。 例如:

filepath = 'http://seekvectorlogo.com/wp-content/uploads/2018/02/opentext-vector-logo-small.png';

我需要將此文件源傳遞給我的外部API。

在FormData對象中上傳二進制數據時,您需要設置contentType: false

$.ajax({
  url: 'http://10.96.45.179/RightFax/API/attachments',
  data: myData,
  processData: false,
  contentType: false,
  // your other settings...
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM