使用JavaScript 上傳Blob
在JavaScript 中處理音訊或其他多媒體資料時,經常會遇到Blob,它們是不可變的集合原始資料。為了有效地儲存或處理這些數據,您可能需要將其上傳到伺服器。以下是如何使用 JavaScript 上傳 Blob 的詳細指南:
使用 FormData
上傳 Blob 最簡單的方法之一是透過 FormData API。它是一個標準化 API,提供了一種建立 HTTP 請求的方法,該請求的有效負載包含常規表單資料和二進位資料(例如 blob)。
jQuery.ajax 實作
要使用jQuery.ajax 上傳Blob,請依照以下步驟操作:
var fd = new FormData();
fd.append('fname', 'test.wav'); fd.append('data', soundBlob);
$.ajax({ type: 'POST', url: '/upload.php', data: fd, processData: false, contentType: false }).done(function(data) { console.log(data); });
透過將processData 設為false,我們可以防止jQuery 將FormData 物件轉換為字串,這對於blob 等二進位資料是必需的。同樣,將 contentType 設為 false 可以讓瀏覽器決定上傳的適當內容類型。
自訂實作
如果您喜歡建立XHR (XMLHttpRequest) 物件手動,您可以使用下列步驟:
var xhr = new XMLHttpRequest();
xhr.open('POST', '/upload.php', true); xhr.setRequestHeader('Accept', 'application/json');
以上是如何在 JavaScript 中上傳 Blob?的詳細內容。更多資訊請關注PHP中文網其他相關文章!