无法使用node.js aws-sdk将图像发布到S3

时间:2016-09-12 13:02:51

标签: javascript node.js amazon-web-services amazon-s3

我试图让一个POST端点与AWS合作,将图像发布到亚马逊桶,但我从s3fs / aws-sdk收到以下错误。

Unhandled rejection MalformedXML: The XML you provided was not well-formed or did not validate against our published schema

为什么会发生此错误以及如何解决?

这是我的POST功能以及其他相关内容:

import fs from 'fs';
import s3fs from 's3fs';
const S3FS = s3fs;

const s3fsImp = new S3FS('testbucket', {
  accessKeyId: 'asdf...',
  secretAccessKey: '1234...',
});

s3fsImp.create();

...

const file = req.files.file;
const stream = fs.createReadStream(file.path);
return s3fsImp.writeFile(file.originalFileName, stream).then(() => {
  fs.unlink(file.path, (err) => {
    if (err) {
      console.error(err);
    }
    res.json({ working: true });
  });
});

我发现错误消息非常无用,因为我没有提供任何XML。我是否需要在某处或某处声明/标记架构?我不明白为什么会这样。

我用Postman测试了这个:

  • 没有内容类型设置

  • 通过正文'文件'发送图片设置为类型'文件' (与文本'相关)

  • 普通form-data

我一直在阅读一些文档和教程,我现在不确定如何继续这样做。任何帮助表示赞赏。

0 个答案:

没有答案