HarmonyOS 鸿蒙Next 使用三方库axios上传文件

发布于 1周前 作者 sinazl 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 使用三方库axios上传文件

使用三方库axios上传文件,文件是formdata形式,服务端提示接收不到文件

2 回复
文件上传参考:

场景一:系统文件上传至服务器,注意下:当前上传应用文件功能,仅支持上传应用缓存文件路径(cacheDir)下的文件。

官网文档地址:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/app-file-upload-download-V5

注意:官网文档示例代码中的uri: ‘internal://cache/test.txt’直接替换成实际的地址,比如’file://media/Photo/25/IMG_1713972998_021/IMG_20240424_233458.jpg’

场景二:web组件实现文件上传

可以参考官网文档的示例代码进行功能实现

官网文档地址:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/web-file-upload-V5?catalogVersion=V5

该问题可能是服务端处理数据出现问题,例如当服务器res.statusCode = 304、305、404、407等时,会出现相同报错,建议和服务器侧联调,查看是否服务器处理返回异常。

如果无法联调,建议在安卓/IOS侧,使用类似接口、相同参数,上传相同文件,查看服务器返回状态码,是否为200等正常值。

参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-request-V5#file

参考样例:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-request-V5#requestuploadfile9-1

更多关于HarmonyOS 鸿蒙Next 使用三方库axios上传文件的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next环境中使用三方库axios上传文件,需要确保几个关键步骤正确配置。首先,确认你的项目中已经正确引入了axios库。如果未引入,可通过npm或yarn进行安装:

npm install axios
# 或者
yarn add axios

接下来,使用axios的post方法结合FormData对象来上传文件。以下是一个基本示例:

import axios from 'axios';

const formData = new FormData();
formData.append('file', fileInput.files[0]); // 假设fileInput是一个文件输入元素

axios.post('https://your-upload-url.com/upload', formData, {
    headers: {
        'Content-Type': 'multipart/form-data'
    }
})
.then(response => {
    console.log('File uploaded successfully:', response.data);
})
.catch(error => {
    console.error('Error uploading file:', error);
});

确保URL替换为实际的上传服务器地址,并且服务器支持处理multipart/form-data请求。

此外,由于HarmonyOS可能对文件访问和网络请求有特定的权限要求,请确保你的应用已经获得了必要的权限,例如读写存储和网络访问权限。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部