我使用XHR請求發送Blob文件,但我需要發送一些其他數據;最好是一組數據。使用XHR發送blob和其他數據
我知道我不能在blob數據上調用json_encode,因爲它是二進制數據;但有沒有辦法做到這一點?
編輯:我可以使用formdata來結合blob和數組嗎?
我使用XHR請求發送Blob文件,但我需要發送一些其他數據;最好是一組數據。使用XHR發送blob和其他數據
我知道我不能在blob數據上調用json_encode,因爲它是二進制數據;但有沒有辦法做到這一點?
編輯:我可以使用formdata來結合blob和數組嗎?
通常,您將數據編碼爲base64,然後使用multipart。文件數據以base64編碼,您需要在服務器端進行解碼。在客戶端如果附加數據是小,你可以設置爲文件名(在服務器上您的定製邏輯解釋它,你可以使用window.btoa
Content-Type:multipart/form-data, boundary=xxxxxxxxx
--xxxxxxxxx
Content-Disposition: form-data; name='uploadfile'; filename='123_logo.jpg'
Content-Transfer-Encoding: base64
Content-Type: image/jpeg
/*base64data*/`
。否則,使用多的另一部分吧。
20MB可能是單個上傳大尺寸你可能要考慮在更小的塊組塊
爲什麼我將它編碼爲base64而不是隻有一個formdata:我在其中添加了一個json編碼數組和blob文件? – Thomas
是BLOB文件 – closure
是:。?這是一個文件:音頻/ WAV,它可以是相當大的(高達20MB) – Thomas