我现在已经在Postman和Axios提交的基本表格中进行了尝试。
我正在为S3生成signedUrl,因此可以将对象放入存储桶中。工作正常,一切顺利,文件进入存储桶。但是,我注意到由于Zip文件中的错误,导致步进功能失败,并且在调查后发现,通过表单上传的文件比通过管理界面直接上传到S3的文件要大。
我在文本编辑器中打开了Zip文件,并在内容周围找到了一个包装,如下所示:
------WebKitFormBoundary19fSiKSo1hKo8CkO
Content-Disposition: form-data; name="file"; filename="surveys.zip"
Content-Type: application/x-zip-compressed
然后在底部
------WebKitFormBoundary19fSiKSo1hKo8CkO--
删除这些文件时,我可以打开文件并查看文件。我最初是在与Postman进行测试时,以为可能是罪魁祸首,但是在与Axios制作表单之后,我看到的是同一件事。
有人知道如何解决此问题吗?我试过添加/删除标题,但无法弄清楚!
答案 0 :(得分:0)
弄清楚了。显然,邮差和我构建Axios表单的方式存在相同的问题。我正在序列化表单,而不仅仅是将数据发布到签名的URL。
我不是像FormData
那样提交数据,而是像这样直接提交
let data = document.getElementById('file').files[0]
axios.put(signedUrl, data)