node js multipart/form-data 提交base64圖片

背景

后臺(tái)接口提供了前端上傳圖片的接口,現(xiàn)在node js需要使用統(tǒng)一的服務(wù)接口。
存在的問題:

  1. node js端的圖片已被轉(zhuǎn)為base64
  2. node js不支持formdata
    在網(wǎng)上谷歌了找了很久并沒有找到正確的方式,應(yīng)該是我們的場景太過特殊,在踩了幾個(gè)坑之后,最終成功請(qǐng)求。

成功的代碼

import * as FormData from "form-data"

async upload(){
    const imageData = '完整的圖片base64字符串'
    const base64ImgStr = imageData.replace(/^data:image\/[a-z]+;base64,/, '');
    const url = 'https://127.0.0.1:7001/upload'

    let data = new FormData()
    data.append('file', Buffer.from(base64ImgStr, 'base64'),
      {contentType: 'image/png', filename: 'x.png'})
    data.append('bizType', 'bxUser')
    data.append('fileType', 1)

    const result: any = await this.httpService.post(url, data, {
      headers: data.getHeaders()
    })
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容