使用 AWS S3 签名上传文件 url 始终设置内容类型 binary/octet-stream

Upload file with AWS S3 signed url always setting content-type binary/octet-stream

我遇到了一个问题,内容类型在上传过程中总是发生变化。我正在使用 lambda 和 nodejs 生成 URL。这是我的代码。我将不胜感激任何帮助!

您生成 Signed URL 的代码工作正常。问题似乎出在文件的实际上传上。试试这些选项,让我们看看您是否会得到更好的结果:

  1. 在邮递员中使用二进制选项而不是表单数据

    form-data 增加了很多附加值

  2. 创建一个 nodejs 文件并使用此代码进行测试

    const axios = require('axios');
    const fs = require('fs');
    
    (async () => {
        const file = fs.readFileSync('./download.mp4');
    
        await axios.put(signedUrl, {
            data: file,
        }, {
            headers: {
                'Content-Type': 'video/mp4'
            }
        });
    
    })();
    

    我得到的结果: