HarmonyOS request.uploadFile 上传文件成功,但是并无服务器数据返回
在使用request.uploadFile 上传相册选中的图片时,进行了沙箱处理,上传看似也成功了,但是没有我方服务器的返回数据。代码:
async upFile(uri: Array<string>) {
JLog.d("原图:::" + uri[0])
let header = new Map<Object, string>();
header.set('Content-Type', 'multipart/form-data');
let segments = uri[0].split('/')
let fileName = segments[segments.length-1]
let realUri = this.context.cacheDir + "/" + fileName
JLog.d("沙箱图处理:::realUri:" + realUri)
try {
let file = fs.openSync(uri[0])
fs.copyFileSync(file.fd, realUri)
} catch (err) {
JLog.e('err.code : ' + err.code + ', err.message : ' + err.message)
}
let files: Array<request.File> = [{ filename: fileName, name: "file", uri: `internal://cache/${fileName}`, type: 'jpg' }]
let data: Array<request.RequestData> = [{ name: 'TenantID', value: 'ysz' },{ name: 'file', value: 'files' }];
let uploadConfig: request.UploadConfig = {
url: ApiUrl.UPLOAD_IMAGE_URL,
header: header,
method: 'POST',
files: files,
data: data
}
try {
let context = getContext(this) as common.UIAbilityContext;
request.uploadFile(context, uploadConfig)
.then((uploadTask: request.UploadTask) => {
uploadTask.on('complete', (taskStates: Array<request.TaskState>) => {
for (let i = 0; i < taskStates.length; i++) {
JLog.d(`upload complete taskState: ${JSON.stringify(taskStates[i])}`);
}
});
uploadTask.on("progress", (size, tot) => {
JLog.d("进度" + size + '/' + tot)
})
})
.catch((err: BusinessError) => {
JLog.e(`Invoke uploadFile failed, code is ${err.code}, message is ${err.message}`);
})
} catch (error) {
let err: BusinessError = error as BusinessError;
JLog.e(`Invoke uploadFile failed, code is ${err.code}, message is ${err.message}`);
}
}
打印部分日志:
原图:::file://media/Photo/8/IMG_1715853988_003/IMG_20240516_180448.jpg
沙箱图处理:::realUri:/data/storage/el2/base/haps/entry/cache/IMG_20240516_180448.jpg
进度3647696/3647696
upload complete taskState: {“path”:"/data/storage/el2/base/haps/entry/cache/IMG_20240516_180448.jpg",“responseCode”:0,“message”:""}
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS request.uploadFile 上传多文件
31浏览 • 1回复 待解决
HarmonyOS request.uploadFile问题
24浏览 • 1回复 待解决
HarmonyOS 图片上传服务器获取接口返回数据
80浏览 • 1回复 待解决
request.uploadFile(context, uploadConfig) 报错
552浏览 • 1回复 待解决
HarmonyOS 使用@ohos.request 上传图片后,获取不到服务器返回
595浏览 • 1回复 待解决
HarmonyOS 文件上传服务器问题
392浏览 • 1回复 待解决
HarmonyOS 上传文件,获取不到服务器返回的图片路径
111浏览 • 1回复 待解决
HarmonyOS request.uploadFile 报错 empty error message
451浏览 • 1回复 待解决
HarmonyOS Rcp.post上传图库文件至服务器
328浏览 • 1回复 待解决
HarmonyOS request.uploadFile只回调了progress,没有回调complete呢
24浏览 • 1回复 待解决
HarmonyOS 生成应用描述文件并上传至服务器
21浏览 • 1回复 待解决
request.uploadFile报错13400001,file operation error ,后端服务也没收到接口请求
592浏览 • 0回复 待解决
request.upload上传成功没有返回上传文件在服务端的地址连接,这个有解决方案没?
3103浏览 • 1回复 待解决
HarmonyOS request.uploadFile是multipart/form-data的方式么
66浏览 • 1回复 待解决
HarmonyOS 有没有提供上传大文件到服务器的api
67浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何使用HarmonyOS NEXT上传文件到服务器?
115浏览 • 1回复 待解决
HarmonyOS WebSocket调用connect连接服务器,连接成功,解析返回HTTPS失败
13浏览 • 1回复 待解决
HarmonyOS 选择相册图片,上传到服务器
48浏览 • 1回复 待解决
HarmonyOS 如何展示服务器接口返回的html格式数据
34浏览 • 1回复 待解决
HarmonyOS 选择图片上传到服务器的demo
22浏览 • 1回复 待解决
MQTT适合做服务器-服务器的数据同步接口吗?
2445浏览 • 1回复 待解决
HarmonyOS 将相册中的图片上传到服务器
97浏览 • 1回复 待解决
HarmonyOS Vision Kit(视觉服务)文字识别是本地识别,还是上传至服务器,由服务器来识别文字
90浏览 • 1回复 待解决
可以参考开启on(‘headerReceive’),其中响应体的 header 和 body 都会在这个 header object 里存放https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-request-V5#onheaderreceive7