出于某種原因,我不想公開 URL(sercet url),
我的作業流程如下:
客戶端向我的服務器發送 API 請求:
介面:mywebsite.com/api/image_abc.jpg
我有 Nodejs express 服務器從 url 獲取檔案:
例如:sercret_url.com/image_abc.jpg
然后從 Nodejs 的回應影像內容中,我將影像內容發送回客戶端并顯示為 image_abc.jpg
我在stackoverflow上環顧四周,但剛剛從磁盤讀取檔案并發送到客戶端得到了答案。我想要的只是將影像內容重定向到客戶端,而不是將檔案保存到磁盤。
謝謝你。
uj5u.com熱心網友回復:
假設您想將某個 URL 中的檔案內容作為緩沖區回傳給客戶端,這是我建議的解決方案
使用 axios 獲取檔案并將緩沖區回傳給您的客戶端
const axios = require('axios');
let URL='some-valid-url'
const response = await axios.get(
URL,
{ responseType: 'arraybuffer' }
);
const buffer = Buffer.from(response.data, 'utf-8');
res.status(200).send(buffer);
如果您想將其保存到您的服務器,您可以使用 fs 如下將檔案寫入您選擇的檔案夾
fs.writeFile(fileName, buffer, (err) => {
if(!err) console.log('Data written');
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/409187.html
標籤:
