我想上传一个图像采取形式一个简单的输入类型文件:<input style="display: none" id="file-upload" type="file" @change="handleUpload($event)">
下面是上传文件所调用的方法:
const handleUpload = async (e: any) => {
const file = e.target.files[0]
await userHttpService.uploadProfilePicture(file)
await store.refreshConnectedUser()}
这里是服务:
async uploadProfilePicture(file: File) {
const fd = new FormData()
fd.append('file', file)
await axiosInstance.post(`${serverRoot}/api/image_profiles`, fd, {
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
})
}
对于web部分来说没问题,但是当我想切换到native时,在应用程序将数据发送到服务器之前我有错误。在IOS上,我在控制台中有这个错误:
未处理的Promise拒绝:数据克隆错误:无法克隆对象。
在Android上,我看不到它显示为[Object]的错误
我尝试使用相机插件来使用本机相机/库,但我有同样的问题。我认为有问题的formData...
你知道吗?
1条答案
按热度按时间qhhrdooz1#
好吧,我刚发现什么是错的。
我一直在使用原生的电容器HTTP插件来处理HTTP请求。这很奇怪,但是,插件在处理FormData和文件时有问题。我把插件的,它现在的工作。