小编Ahm*_*yes的帖子

使用 Nextjs 中的 API 路由从 AWS s3 下载可读图像

我正在使用 Nextjs 来构建我的应用程序。我正在使用 AWS s3 来存储我的静态文件(图像和 PDF,..)

我希望我的应用程序的用户能够下载该文件。我使用此处提到的答案来开发解决方案,它有效,但图像不可读。表明

我们似乎不支持此文件格式

这是我的脚本:

// /pages/api/getFile.js
import { NextApiRequest, NextApiResponse } from "next";
import stream from 'stream';
import { promisify } from 'util';
import s3 from "../../../../utils/s3-utils";
const pipeline = promisify(stream.pipeline);

export default async (req: NextApiRequest, res: NextApiResponse) => {
  const bucketName = process.env.S3_UPLOAD_BUCKET || ""

  const imageKey: any = req.query.imgkey

  const downloadParams = {
    Key: imageKey,
    Bucket: bucketName
  }

  const downloadedObject = await s3.getObject(downloadParams).promise()
  const readableFile= downloadedObject.Body?.toString('base64') || "" …
Run Code Online (Sandbox Code Playgroud)

download amazon-s3 next.js

2
推荐指数
1
解决办法
3938
查看次数

标签 统计

amazon-s3 ×1

download ×1

next.js ×1