【问题标题】:How can I upload files to Amazon S3 using react-dropzone?如何使用 react-dropzone 将文件上传到 Amazon S3?
【发布时间】:2021-06-24 21:58:08
【问题描述】:
我一直在从事一个涉及react-dropzone 包的项目。我成功构建了一个容器来添加文件,但现在我不知道如何将这些文件上传到我的 Amazon S3 存储桶。当我添加文件时,它会创建这些“文件”对象,但它包含的只是名称、大小、路径等信息。它似乎不包含实际文件本身。即使文件路径也不是完整的文件路径,它只是文件的名称。该文档没有任何关于将文件拖到浏览器后可以做什么的信息。我不相信这个每周有 130 万次 NPM 下载的整个软件包都是为了展示目的。我对 web-dev 的世界还很陌生,所以可能有一些我不明白的明显的东西。有什么建议吗?
【问题讨论】:
标签:
javascript
reactjs
amazon-web-services
react-dropzone
【解决方案2】:
您正在寻找的是 FormData 对象
下面是一个使用 axios 的例子
for (let i = 0; i < newFiles.length; i++) {
let file = newFiles[i]
let formData = new FormData()
formData.append("file", file)
formData.append("otherProperties", otherProperties)
await axios.post(url, formData, {
headers: {
'content-type': 'multipart/form-data',
Authorization: `Bearer ${token}`,
}
}).then(res => {
console.log(res.data)
successfulUploads.push(res.data)
}).catch(err => {
console.log(err)
})
}