HarmonyOS request.uploadFile 上传多文件
在使用request.uploadFile实现 multipart/form-data 一个请求上传多个文件,抓包发现,会发起多次请求,每次上传一个文件。
async uploadFile(context: common.UIAbilityContext, func: string, params?: object, method?: http.RequestMethod, expectDataType?: http.HttpDataType): Promise<string> {
let netUrl = `${NetHelper.getBaseUrl(this.netWork, params)}${func}`;
let fileName: string = "";
let fileList = params["fileList"] as string [];
let files: request.File [] = [];
for(let filePath of fileList) { // 文件集合
fileName = filePath.substring(filePath.lastIndexOf("/")+1, filePath.length);
let parentDir: string | null = FileManager.getParentDir(filePath);
if (parentDir != FilePathGenerator.cacheDir) {
FileManager.copyFileSync(filePath, `${FilePathGenerator.cacheDir}/${fileName}`);
}
let suffixIndex = fileName.lastIndexOf(".");
files.push({ filename: fileName, name: fileName, uri: "internal://cache/" + fileName,
type: suffixIndex >= 0 ? fileName.substring(suffixIndex + 1, fileName.length) : "" });
}
let uploadConfig: request.UploadConfig = {
url: netUrl,
header: headers,
method: method?.valueOf(),
files: files,
data: datas,
};
return new Promise(async (resolve, reject) => {
try {
const uploadTask = await request.uploadFile(context, uploadConfig);
uploadTask.on('complete', (taskStates: Array<request.TaskState>) => {
logger.debug('taskStates');
logger.debug('taskStates[0].message:' + taskStates[0].message);
return resolve(taskStates[0].message);
});
uploadTask.on("progress",(receivedSize: number, totalSize: number)=> {
logger.debug("progress", `receivedSize: ${receivedSize} totalSize:${totalSize}`);
});
} catch (e) {
logger.error("uploadFile error:", e);
reject(new RYError("", RYErrorCode.UploadError, e));
}
})
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
HarmonyOS
赞
收藏 0
回答 1
相关问题
HarmonyOS request.uploadFile问题
751浏览 • 1回复 待解决
HarmonyOS request.uploadFile 上传文件成功,但是并无服务器数据返回
1833浏览 • 1回复 待解决
request.uploadFile(context, uploadConfig) 报错
1646浏览 • 1回复 待解决
HarmonyOS request.uploadFile 报错 empty error message
1329浏览 • 1回复 待解决
HarmonyOS request.uploadFile上传如何忽略掉不正确的SSL证书
704浏览 • 1回复 待解决
HarmonyOS 使用request.uploadFile 提示401,filePath is not valid
963浏览 • 1回复 待解决
HarmonyOS 用相机拍一张头像上传时,使用request.uploadfile函数,报这个错误
707浏览 • 1回复 待解决
HarmonyOS request.uploadFile是multipart/form-data的方式么
877浏览 • 1回复 待解决
HarmonyOS request.uploadFile只回调了progress,没有回调complete呢
944浏览 • 1回复 待解决
request.uploadFile报错13400001,file operation error ,后端服务也没收到接口请求
1944浏览 • 0回复 待解决
HarmonyOS使用API request.uploadFile 上传多张图片时,服务端会收到多个请求,每个请求只接收到一张图片
1377浏览 • 1回复 待解决
HarmonyOS request文件上传问题
789浏览 • 1回复 待解决
HarmonyOS request上传文件后headerReceive内容无法解析
700浏览 • 1回复 待解决
从图库中选择使用request接口上传图片文件
1366浏览 • 1回复 待解决
http文件上传demo,需要一个request.upload的demo程序,用于上传用户头像
2665浏览 • 1回复 待解决
request上传返回错误码401
1545浏览 • 2回复 待解决
HarmonyOS 上传一直报the parameters check fails this is fail path, uploadFile get internal
1241浏览 • 1回复 待解决
HarmonyOS 通过request.agent.create创建上传下载任务的文件路径问题
891浏览 • 1回复 待解决
HarmonyOS 是否有系统本地文件获取,上传以及多文件选择的开发文档以及示例
644浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS NEXT中使用Request模块上传文件到服务端
1016浏览 • 1回复 待解决
request.upload上传成功没有返回上传文件在服务端的地址连接,这个有解决方案没?
4036浏览 • 1回复 待解决
#鸿蒙通关秘籍# 在HarmonyOS Next开发中如何通过request部件上传文件到服务端?
941浏览 • 0回复 待解决
HarmonyOS 录音上传文件
894浏览 • 1回复 待解决
HarmonyOS 上传文件问题
778浏览 • 1回复 待解决
可以使用ohos.net.http进行数据请求,参考链接:
https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-http-V5#%E5%AF%BC%E5%85%A5%E6%A8%A1%E5%9D%97