所以基本上,出于安全考慮,我需要將影像(來自 url)轉換為 base64。
到目前為止,我有兩個功能。一個功能是將影像從 url 轉換為 Base64,另一個是映射資料庫并將默認 url 替換為 base64 格式。我錯過了拼圖的最后一塊,如何在第二個函式中使用第一個函式的回傳值 - 我想用從 url 轉換為 base64 的結果替換第二個函式中的“test”。
public async convertUrlToBase64(): Promise<any> {
const request = require('request').defaults({ encoding: null });
await request.get(
'https://upload.wikimedia.org/wikipedia/commons/thumb/e/ea/Ray_and_Maria_Stata_Center_(MIT).JPG/2560px-Ray_and_Maria_Stata_Center_(MIT).JPG',
function (
error: any,
response: { statusCode: number; headers: { [x: string]: string } },
body: ArrayBuffer | SharedArrayBuffer,
) {
return 'data:' response.headers['content-type'] ';base64,' Buffer.from(body).toString('base64');
},
);
}
public mapUriToBase64(note: any): any {
return {
...note,
images: note.images.map((image: File) => {
return {
...image,
uri: 'test',
};
}),
};
}
}
uj5u.com熱心網友回復:
您基本上需要用 Promise 包裝它,以便從您的呼叫中獲取回傳值。
public convertUrlToBase64(): any {
const request = require('request').defaults({ encoding: null });
return new Promise(function (resolve, reject) {
request.get(
'https://upload.wikimedia.org/wikipedia/commons/thumb/e/ea/Ray_and_Maria_Stata_Center_(MIT).JPG/2560px-Ray_and_Maria_Stata_Center_(MIT).JPG',
function (
error: any,
response: { statusCode: number; headers: { [x: string]: string } },
body: ArrayBuffer | SharedArrayBuffer,
) {
const data = 'data:' response.headers['content-type'] ';base64,' Buffer.from(body).toString('base64');
resolve(data);
},
);
});
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/488777.html
標籤:javascript 节点.js 表示
