HarmonyOS 文件上传无法解析文件地址
//将文件拷贝入沙箱中
copyFileToSandBox() : string[]{
let files : string[] = [];
let cachDir = this.context.cacheDir;
this.imgArr.forEach((uri) => {
let file = fs.openSync(uri,fs.OpenMode.READ_ONLY);
let name = file.name;
let dest = fs.openSync(cachDir + "/" + name,fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
fs.copyFileSync(file.fd,dest.fd);
fs.closeSync(file.fd);
let destUri = dest.path;
fs.closeSync(dest.fd);
files.push(destUri);
})
return files;
}
//将文件上传服务器
uploadPics(){
if (this.imgArr && this.imgArr.length > 0 ) {
let fileUris = this.copyFileToSandBox();
let files: Array<request.File> = []
for (let i = 0; i < fileUris.length; i++) {
let filename = fileUris[i].substring(fileUris[i].lastIndexOf("/") + 1);
let name = filename.substring(0,filename.indexOf("."));
let fileType = filename.substring(filename.indexOf(".") + 1);
console.log("filename=" + filename + ";name=" + name + "type:" + fileType);
files.push({
filename: filename,
name: name,
uri: "internal:/" + fileUris[i],
type: fileType
})
};
let header = new Map<Object, string>();
header.set("Content-type","application/x-www-form-urlencoded")
let data : Array<request.RequestData> = [{name:"serviceCode",value:"handheld_bus_file"},{name:"twoServiceCode",value:"feedback"}];
let uploadConfig: request.UploadConfig = {
url: UrlConst.ROOT_URL + UrlConst.FILE_UPLOAD_URL,
header: header,
method: 'POST',
files: files,
data: data
}
try {
request.uploadFile(getContext(this), 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}`);
}
}
}
- 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.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
- 53.
- 54.
- 55.
- 56.
- 57.
- 58.
- 59.
- 60.
- 61.
上述代码中this.imgArr为从相册中选择的图片的uri数组,执行该代码后报错
Invoke uploadFile failed, code is 401, message is the parameters check fails Parameter verification failed, GetInternalPath failed, filePath is not valid
HarmonyOS
赞
收藏 0
回答 1
相关问题
HarmonyOS request上传文件后headerReceive内容无法解析
701浏览 • 1回复 待解决
HarmonyOS 文件上传无法获取业务响应数据
683浏览 • 1回复 待解决
HarmonyOS 上传文件 无法获取接口返回值
929浏览 • 1回复 待解决
HarmonyOS Web 控件无法上传应用沙箱内的文件
569浏览 • 1回复 待解决
HarmonyOS 录音上传文件
894浏览 • 1回复 待解决
HarmonyOS 上传文件问题
778浏览 • 1回复 待解决
HarmonyOS上传文件问题
1233浏览 • 1回复 待解决
HarmonyOS 如何上传文件?
948浏览 • 1回复 待解决
HarmonyOS 上传文件的demo
862浏览 • 1回复 待解决
HarmonyOS文件上传怎么写
1411浏览 • 1回复 待解决
HarmonyOS 地址解析问题
727浏览 • 1回复 待解决
HarmonyOS 上传文件api,文件mimeType部分缺失问题
1341浏览 • 1回复 待解决
HarmonyOS 关于文件上传成功后无法获取接口返回的信息
756浏览 • 1回复 待解决
HarmonyOS 文件上传报错
1069浏览 • 1回复 待解决
HarmonyOS web组件上传文件
961浏览 • 1回复 待解决
HarmonyOS 上传文件相关Demo
1381浏览 • 1回复 待解决
HarmonyOS axios上传文件失败
852浏览 • 1回复 待解决
HarmonyOS 如何解析证书文件
879浏览 • 1回复 待解决
HarmonyOS 如何解析zip文件
665浏览 • 1回复 待解决
HarmonyOS rn_svg无法加载本地自定义地址svg文件
1126浏览 • 1回复 待解决
HarmonyOS Formdata上传文件,总是提示文件为空
677浏览 • 1回复 待解决
HarmonyOS 文件管理查找pdf文件并上传
919浏览 • 1回复 待解决
HarmonyOS web上传文件和图片
898浏览 • 1回复 待解决
HarmonyOS 文件上传HEADER如何配置
647浏览 • 1回复 待解决
HarmonyOS request文件上传问题
789浏览 • 1回复 待解决
1.header.set(“Content-type”,“multipart/form-data”)
2.uri格式 uri: “internal:/” + ‘/cache/’+filename,
详见https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-request-V5#file