HarmonyOS鸿蒙Next中rcp文件流上传接口除了文件流,其它参数怎么传?
HarmonyOS鸿蒙Next中rcp文件流上传接口除了文件流,其它参数怎么传?
//文件上传
export function testUploadFromStream(uploadFilePath: string)
try{
//创建session
const session = rcp.createSession(
headers:{
'eip-api-version':'app',
'Authorization':AUTH_TOKEN,
'eip-cLient-session':AUTH_TOKEN,
}
);
//根据传入的上传文件的路径打开文件
const file = fs.openSync(uploadFilePath, fs.OpenMode.READ_ONLY);
//文件读取流
const fileStream = new rcp.UploadFromStream(new FdReadStream(file.fd));
//以流的形式上传数据
session.uploadFromStream(BaseConstants.HTTP_BASE_URL + BaseConstants.API_PREFIX+"/upload", fileStream).then((resp)=>{
console.info(`testUploadFromStream response: ${JSON.stringify(resp)}`);
if (resp && resp.statusCode === 200){
console.info('testUploadFromStream succeeded.');
}else {
console.error(`testUploadFromStream failed.`);
}
//完成后关闭文件和session
fs.closeSync(file.fd);
session.close();
}).catch((error:Error)=>{
console.error(`testUploadFromStream error: ${JsoN.stringify(error)}`);
fs.closeSync(file.fd);
session.close();
})
}
需要再传入body参数,该怎么办?
更多关于HarmonyOS鸿蒙Next中rcp文件流上传接口除了文件流,其它参数怎么传?的实战教程也可以访问 https://www.itying.com/category-93-b0.html
【解决方案】
开发者您好,RCP 文件流形式上传数据,uploadFromStream接口中不支持body参数,只有2个参数,url(HTTP UPLOADFROMSTREAM请求资源的URL)和uploadFrom(HTTP中从一个输入流中上传数据到服务器的请求),详情可参考官网文档:uploadFromStream。
若想在RCP上传时携带其他参数,可使用RCP自定义参数能力,可在SessionConfiguration参数中header进行设置,详情可参考官网文档:SessionConfiguration。
更多关于HarmonyOS鸿蒙Next中rcp文件流上传接口除了文件流,其它参数怎么传?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS Next中,rcp文件流上传接口的其它参数可通过RequestConfig设置。使用RequestConfig.Builder()构建配置对象,通过addHeader()添加请求头参数,setParams()设置URL查询参数,setBody()传递额外表单数据。文件流通过setData()或setDataStream()附加。示例:new RequestConfig.Builder().addHeader("key","value").setParams(params).setData(data).build()。


