第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從 URL 獲取圖像并通過 NodeJS 中的 POST 上傳到另一個

從 URL 獲取圖像并通過 NodeJS 中的 POST 上傳到另一個

慕容3067478 2021-08-26 14:36:56
在以下代碼段中,我使用node-fetch和form-data首先從遠程 URL 檢索圖像文件,然后將其上傳到 S3 存儲桶(在不同的腳本中使用aws-sdk和multer):import fetch from 'node-fetch';import fs from 'fs';import FormData from 'form-data';const form = new FormData();const processProfileImg = (imageURL, userID) => {  fetch(imageURL, userID)    .then((response) => {      const dest = fs.createWriteStream(`./temp/${userID}.jpg`);      response.body.pipe(dest);    })    .then((dest) => {      form.append('profileImage', fs.createReadStream(`./temp/${userID}.jpg`));      fetch(`https://www.schandillia.com/upload/profile-image?userID=${userID}`, { method: 'POST', body: form })        .then(response => response.json())        .then(json => console.log(json));    });};export default processProfileImg;問題是,這涉及一個中間步驟,即首先在檢索時將文件存儲在本地,然后再由form-data函數(shù)將其拾取以進行 POST 。有沒有辦法完全繞過這一步?我不想將文件保存在本地,我只想從遠程 URL 中提取它并將其 POST 到上傳路由,而無需創(chuàng)建本地文件。
查看完整描述

2 回答

?
慕尼黑的夜晚無繁華

TA貢獻1864條經(jīng)驗 獲得超6個贊

這對我有用:


const axios = require('axios')

const FormData = require('form-data');


//Get image

let imageResponse = await axios({

    url: imageUrl,

    method: 'GET',

    responseType: 'arraybuffer'

})


//Create form data

const form = new FormData()

form.append('image', imageResponse.data, {

    contentType: 'image/jpeg',

    name: 'image',

    filename: 'imageFileName.jpg'

})


//Submit form

let result = await axios({

    url: serverUrl, 

    method: "POST",

    data: form, 

    headers: { "Content-Type": `multipart/form-data; boundary=${form._boundary}` }

})


查看完整回答
反對 回復(fù) 2021-08-26
  • 2 回答
  • 0 關(guān)注
  • 307 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號