【问题标题】:AWS S3 After Uploading, Image is brokenAWS S3 上传后,图像损坏
【发布时间】:2020-04-15 18:25:37
【问题描述】:

重新提问

环境:swift、Nodejs、s3、lambda、aws-serverless-express 模块

  1. 问题:

在 swift 上使用 Alamofire(multipart/form-data) 上传 AS 多部分格式后,图像在 AWS 的 s3 上损坏

代码:

let photoKey = value.originalname + insertedReviewId + `_${i}.jpeg`
let photoParam = {
    Bucket: bucket,
    Key: photoKey,
    Body: value.buffer,
    ACL: "public-read-write",
    ContentType: value.mimetype, /* minetype: image/jpege */
};

//image upload 
let resultUploadS3 = await s3.upload(photoParam).promise();

感谢阅读

【问题讨论】:

  • "使用 api-gateway 在 lambda 上设置的代码有错误" 什么错误? “预览图像未加载”在哪里?
  • @nickolay.laptev 哦.. 抱歉信息不多。是的,该过程已完成,但未加载预览或下载到 s3 只是我收到一条消息,例如“此文件已损坏”
  • 你的问题很难理解。请尝试将其简化为显示问题的简单示例。此外,作为一般规则,您不应将公共读写 ACL 分配给 S3 对象 - 几乎没有充分的理由这样做。
  • @jarmod 哦,对不起。好的,我会将所有内容更改为简单的问题。

标签: node.js amazon-web-services amazon-s3 aws-lambda api-gateway


【解决方案1】:

自我回答

我使用 aws-serverless-express,对于中间件,我使用 aws-serverless-express/middleware。

我不知道有什么问题,但是,我删除了 aws-serverless-express/middleware 模块,它可以工作。所有图像完美上传,没有损坏的文件。

如果您在 Nodejs 上使用 aws-serverless-express/middleware、body-parser、multer,请尝试删除 aws-serverless-express/middleware。

【讨论】:

猜你喜欢
  • 2015-11-14
  • 2022-08-13
  • 1970-01-01
  • 2022-08-17
  • 2016-04-14
  • 2021-03-15
  • 2020-02-02
  • 2019-08-12
相关资源
最近更新 更多