我有這種情況,我使用 XMLHttpRequest 加載影像,但沒有將 responseType 設定為 blob。所以我收到一個字串

我的問題是,在這種情況下是否仍然可以渲染影像?
例如,我嘗試將此字串轉換為 Blob
out = new Blob([imageString], { type: 'image/png' });
但這不會呈現預期的影像。有什么建議?
演示
這是我的節點后端如何將該影像發送到瀏覽器
app.get("/binary/*", (req: express.Request, res: express.Response) => {
const file = binaryPath '/test.jpg';
res.sendFile(file);
});
uj5u.com熱心網友回復:
終于明白了:如果您不想擁有xhr.responseType = 'blob'并且想從接收到的資料創建一個 url,那么您需要設定xhr.responseType = 'arraybuffer'. 這允許將二進制檔案xhr.response轉換為 blob,然后創建一個URL.createObjectURL.
關鍵是當您不設定responseType為二進制型別時,您將獲得默認xhr.responseType = 'text'和 utf8 編碼。然后 blob 創建失敗。
我已將此解決方案包含在您的stackblitz 中。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/372835.html
上一篇:我希望影像擴展到卡片的大小
下一篇:處理中的隨機影像匯入
