Ionic 离子6 - vue:无法在本机平台上上传文件

laximzn5  于 2023-04-18  发布在  Ionic
关注(0)|答案(1)|浏览(159)

我想上传一个图像采取形式一个简单的输入类型文件:
<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...
你知道吗?

qhhrdooz

qhhrdooz1#

好吧,我刚发现什么是错的。
我一直在使用原生的电容器HTTP插件来处理HTTP请求。这很奇怪,但是,插件在处理FormData和文件时有问题。我把插件的,它现在的工作。

相关问题