HarmonyOS 后台服务接不到文件
uploadPics(){
let fileUris = this.copyFileToSandBox();
let files: Array<request.File> = []
for (let i = 0; i < fileUris.length; i++) {
let file = fs.openSync(fileUris[i],fs.OpenMode.READ_ONLY);
let stat = fs.lstatSync(fileUris[i]);
fs.closeSync(file.fd);
let filename = fileUris[i].substring(fileUris[i].lastIndexOf("/") + 1);
let name = filename.substring(0,filename.indexOf("."));
let fileType = filename.substring(filename.indexOf(".") + 1);
let path = fileUris[i].substring(fileUris[i].lastIndexOf("/cache"))
files.push({
filename: name,
name: "files",
uri: "internal:/" + path,
type: fileType
})
};
let header = new Map<Object, string>();
header.set("Content-type","multipart/form-data")
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])}`);
}
});
uploadTask.on("headerReceive",(header:object)=>{
console.log(JSON.stringify(header));
//header.body为服务器返回的信息
})
/*uploadTask.delete(()=>{})
uploadTask.off('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}`);
}
}
使用上述代码上传文件时,在
uploadTask.on("headerReceive",(header:object)=>{
console.log(JSON.stringify(header));
//header.body为服务器返回的信息
})
中接到文件不能为空,跟进后台后发现,无文件上传到服务器,该接口在友商平台调用正常,缓存中的文件有数据,未能分析出代码问题
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
如何在Stage模型中创建后台服务
1962浏览 • 1回复 待解决
求助: api9 的Stage模式怎么创建后台服务?
2238浏览 • 1回复 待解决
HarmonyOS 系统启动后自动运行常驻后台服务实现方式
66浏览 • 1回复 待解决
一台服务器如何安装双centos系统?
2167浏览 • 1回复 待解决
HarmonyOS 推送消息类似透传消息怎么接?是后台消息吗
66浏览 • 1回复 待解决
HarmonyOS 推送消息类似透传消息怎么接?是后台消息吗?
194浏览 • 0回复 待解决
HarmonyOS 上传文件,获取不到服务器返回的图片路径
119浏览 • 1回复 待解决
使用Scan Kit(统一扫码服务),通过接数组生成码图
415浏览 • 1回复 待解决
HarmonyOS 元服务安装了,卡片找不到,服务中心加载失败
528浏览 • 1回复 待解决
HarmonyOS 沙箱访问获取不到文件
102浏览 • 1回复 待解决
hi3861连接华为MQTT服务器,始终没连接上,已贴出代码图
8546浏览 • 2回复 待解决
HarmonyOS 文件下载后文件夹内找不到对应文件
51浏览 • 1回复 待解决
HarmonyOS web桥接原生代码方法
20浏览 • 1回复 待解决
微服务下的前后台用户是否分开?
2780浏览 • 1回复 待解决
手机端应用使用socket 服务,后台保活
452浏览 • 1回复 待解决
VScode终端ssh连接不到Linux服务器问题
28172浏览 • 2回复 待解决
HarmonyOS 文件上传服务器问题
393浏览 • 1回复 待解决
HarmonyOS 使用@ohos.request 上传图片后,获取不到服务器返回
597浏览 • 1回复 待解决
路由传参如何接参?可否给个案例?
3200浏览 • 1回复 待解决
HarmonyOS 编译报错,资源文件/color/string找不到
790浏览 • 1回复 待解决
HarmonyOS打开文件时 fileGuard.FileGuard()方法找不到
420浏览 • 1回复 待解决
HarmonyOS Flutter shared_preferences插件引用本地找不到文件路径以及文件
35浏览 • 1回复 待解决
HarmonyOS webview桥接的示例,在web中可以跳转到原生页面
27浏览 • 1回复 待解决
DevEco Studio真机调试找不到签名文件
698浏览 • 1回复 待解决
adb: CreateFileW 'nul' failed: 系统找不到指定的文件。
8248浏览 • 1回复 待解决
参考示例: