node把本地图片转base64

function fileToGenerativePart(path, mimeType) {
  return {
    inlineData: {
      data: Buffer.from(fs.readFileSync(path)).toString('base64'),
      mimeType,
    },
  }
}

     let imageParts = []
      if (Array.isArray(visionImgList) && visionImgList.length > 0) {
        visionImgList = visionImgList
          .filter((item) => item.url)
          .map((item) => item.url)
        let list = visionImgList
        let promiseListForDownload = list.map((item) => {
          return new Promise((resolve) => {
            let sdUrl = item
            let urlObj = new URL(sdUrl)
            const client = urlObj.protocol == 'https:' ? https : http
            client.get(sdUrl, async (httpRes) => {
              let fileName = Date.now()
              let endIndex =
                sdUrl.indexOf('?') > 0 ? sdUrl.indexOf('?') : sdUrl.length
              sdUrl = sdUrl.slice(0, endIndex)
              let pointIndex = sdUrl.lastIndexOf('.')
              let mimeType = sdUrl.slice(pointIndex + 1) //PNG - 图片/png JPEG - image/jpeg WEBP - image/webp HEIC - 图片/heic HEIF - image/heif
              let urlCdnArr = sdUrl.split('/')

              let filePath = `/temp/ai/geminiImages/${fileName}-${
                urlCdnArr[urlCdnArr.length - 1]
              }`
              let stream = fs.createWriteStream(filePath)
              httpRes.pipe(stream)
              stream.on('finish', async () => {
                resolve({ filePath, mimeType: `image/${mimeType}` })
              })
            })
          })
        })

        let localFileList = await Promise.all(promiseListForDownload)
        imageParts = localFileList.map((item) => {
          return fileToGenerativePart(item.filePath, item.mimeType)
        })

我开发的chatgpt网站:

https://chat.xutongbao.top

相关推荐

  1. node本地图片base64

    2024-03-14 13:18:03       46 阅读
  2. 【Android】Base64图片

    2024-03-14 13:18:03       35 阅读
  3. 前端图片base64 方法

    2024-03-14 13:18:03       61 阅读
  4. 前端图片base64 方法

    2024-03-14 13:18:03       49 阅读
  5. 在线图片Base64图片的方法

    2024-03-14 13:18:03       53 阅读
  6. 图片Base64字符串并解析

    2024-03-14 13:18:03       52 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-14 13:18:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-14 13:18:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-14 13:18:03       82 阅读
  4. Python语言-面向对象

    2024-03-14 13:18:03       91 阅读

热门阅读

  1. linux ssh 连接速度慢

    2024-03-14 13:18:03       40 阅读
  2. 25.最大公因数 最小公倍数

    2024-03-14 13:18:03       40 阅读
  3. 学C还是学C++?

    2024-03-14 13:18:03       31 阅读
  4. vue install 报错:code CERT_HAS_EXPIRED

    2024-03-14 13:18:03       44 阅读
  5. Qt QMetaObject::invokeMethod

    2024-03-14 13:18:03       41 阅读
  6. Linux基线安全检测-服务器安全配置检测

    2024-03-14 13:18:03       29 阅读
  7. LeetCode18.四数之和

    2024-03-14 13:18:03       43 阅读
  8. 大带宽服务器怎么租详细过程

    2024-03-14 13:18:03       39 阅读
  9. 字符串和字节的使用

    2024-03-14 13:18:03       38 阅读