HarmonyOS 不在cache目录下的文件怎么上传?
从相册选择的图片需要做上传,但是使用系统提供的上传方法,发现只有cache目录下的文件才能上传成功,请问非cache目录下的文件如果上传?
参考文档:
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/app-file-upload-download-V5
代码如下:
地址:file://media/Photo/3/IMG_1710398715_002/IMG_2024314_144335.jpg
错误码:Invoke uploadFile failed, code is 401, message is the parameters check fails this is fail path
// 上传任务配置项
let header = new Map<Object, string>();
header.set('appKey', this.tokenBean?.cystorageAppKey ?? '');
header.set('token', this.tokenBean?.securityToken ?? '');
header.set('contextId', this.tokenBean?.contextId ?? '');
header.set('expires', expires);
let files: Array<request.File> = [
{ filename: fileName, name: 'file', uri: 'file://media/Photo/1/IMG_1706403774_000/screenshot_20240128_090114.jpg', type: 'jpg' }
]
let data: Array<request.RequestData> = [{ name: 'name', value: 'value' }];
let uploadConfig: request.UploadConfig = {
url: uploadUrl,
header: header,
method: 'POST',
files: files,
data: data
}
// 将本地应用文件上传至网络服务器
try {
request.uploadFile(this.inputBean?.context!, uploadConfig)
.then((uploadTask: request.UploadTask) => {
uploadTask.on('complete', (taskStates: Array<request.TaskState>) => {
for (let i = 0; i < taskStates.length; i++) {
console.info(`upload complete taskState: ${JSON.stringify(taskStates[i])}`);
}
});
})
.catch((err: BusinessError) => {
console.error(`Invoke uploadFile failed, code is ${err.code}, message is ${err.message}`);
})
} catch (error) {
let err: BusinessError = error as BusinessError;
console.error(`Invoke uploadFile failed, code is ${err.code}, message is ${err.message}`);
}
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS 加载cache目录下的PDF文件异常17100003
41浏览 • 1回复 待解决
HarmonyOS C++可以读取到cache目录下面的文件吗?
514浏览 • 1回复 待解决
java怎么读取公共目录下的文件?
2307浏览 • 1回复 待解决
HarmonyOS 怎么读取手机公共目录下的文件
28浏览 • 1回复 待解决
HarmonyOS 怎么获取文件公共目录,将文件下载放在公共目录下
73浏览 • 1回复 待解决
HarmonyOS ArkTS怎么读取指定目录下的所有文件
922浏览 • 1回复 待解决
HarmonyOS resfile或rawfile目录下的文件怎么查看
78浏览 • 1回复 待解决
HarmonyOS 如何播放resources目录下rawfile目录下的wav音频文件
43浏览 • 1回复 待解决
鸿蒙如何读取resources目录下的文件
3554浏览 • 1回复 待解决
HarmonyOS 上传应用文件时,是否只支持cache文件夹下的文件?
25浏览 • 1回复 待解决
HarmonyOS 如何在代码中读取目录下的文件
21浏览 • 1回复 待解决
HarmonyOS如何加载rawfile目录下的音频文件
634浏览 • 1回复 待解决
HarmonyOS如何判断项目目录下的文件是否存在?
791浏览 • 1回复 待解决
#鸿蒙通关秘籍#朋友们,应用文件目录下的文件和系统文件目录下的文件有啥区别?
131浏览 • 1回复 待解决
如何获取工程目录下的json文件?
887浏览 • 1回复 待解决
HarmonyOS dataPreferences存储的文件在哪个目录下
27浏览 • 1回复 待解决
使用controller.loadData, rawfile 目录下的js文件的路径怎么取
2524浏览 • 1回复 待解决
请问鸿蒙开发如何访问公共目录的文件或者其他应用目录下的文件
5514浏览 • 2回复 待解决
遍历目录中所有文件,遍历指定目录,获取当前目录下所有文件,并通过页面展示文件列表。
1216浏览 • 1回复 待解决
canvas怎么绘制资源目录下的图片
702浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何读取和复制下载目录下的文件到沙箱目录?
98浏览 • 1回复 待解决
HarmonyOS 如何获取resources目录下rawfile中的json文件?
37浏览 • 1回复 待解决
资源目录下的文件到沙箱的单向流动
1041浏览 • 1回复 待解决
HarmonyOS文件上传怎么写
592浏览 • 1回复 待解决
HarmonyOS 资源文件能否在resource目录下进行文件夹分类
67浏览 • 1回复 待解决
将公共路径的文件(picker选择),拷贝至沙箱路径中,可完成上传。
Demo:
可以尝试订阅服务端请求信息,获取的headers中包含有header和body
https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-request-V5#onheaderreceive7