Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 当我上传到服务器时,表单边界正在写入我的文件,使其损坏_Amazon S3_File Upload_Axios_Postman - Fatal编程技术网

Amazon s3 当我上传到服务器时,表单边界正在写入我的文件,使其损坏

Amazon s3 当我上传到服务器时,表单边界正在写入我的文件,使其损坏,amazon-s3,file-upload,axios,postman,Amazon S3,File Upload,Axios,Postman,我现在已经尝试了邮递员和Axios提交的基本表单 我正在为S3生成SignedUrl,这样我就可以将一个对象放入我的桶中。一切正常,文件都放进桶里了。然而,我注意到我的step函数由于Zip文件中的错误而失败,在查看之后,我注意到通过表单上传的文件比通过管理界面直接上传到S3的文件稍大 我在文本编辑器中打开Zip文件,发现内容周围有一个包装,如下所示: ------WebKitFormBoundary19fSiKSo1hKo8CkO Content-Disposition: form-data;

我现在已经尝试了邮递员和Axios提交的基本表单

我正在为S3生成SignedUrl,这样我就可以将一个对象放入我的桶中。一切正常,文件都放进桶里了。然而,我注意到我的step函数由于Zip文件中的错误而失败,在查看之后,我注意到通过表单上传的文件比通过管理界面直接上传到S3的文件稍大

我在文本编辑器中打开Zip文件,发现内容周围有一个包装,如下所示:

------WebKitFormBoundary19fSiKSo1hKo8CkO
Content-Disposition: form-data; name="file"; filename="surveys.zip"
Content-Type: application/x-zip-compressed
然后在底部

------WebKitFormBoundary19fSiKSo1hKo8CkO--
当我删除这些文件时,我可以打开文件并查看这些文件。我最初和邮递员一起测试,认为可能是罪魁祸首,但在用Axios制作表单后,我看到了同样的情况


你知道怎么解决这个问题吗?我尝试过添加/删除标题,但我想不出来

解决了这个问题。显然,邮递员和我构建Axios表单的方式也有同样的问题。我正在序列化表单,而不是仅仅将数据发布到已签名的url

我没有像
FormData
那样提交数据,而是像这样直接提交

let data = document.getElementById('file').files[0]
axios.put(signedUrl, data)

我明白了。显然,邮递员和我构建Axios表单的方式也有同样的问题。我正在序列化表单,而不是仅仅将数据发布到已签名的url

我没有像
FormData
那样提交数据,而是像这样直接提交

let data = document.getElementById('file').files[0]
axios.put(signedUrl, data)