HarmonyOS system.request 怎么传输formData格式的file对象
后台接口需要传输multipart/form-data 格式数据,经过PhotoViewPicker后拿到的图片路径,但是后台接口需要file对象。前端代码如下:
const formData = new FormData()
formData.append('file',e.file)
formData.append('fileName', e.fileName)
private openGalleryInternal() {
let photoPicker = new picker.PhotoViewPicker();
photoPicker.select({
MIMEType: picker.PhotoViewMIMETypes.IMAGE_TYPE,
maxSelectNumber: 1
}, (error, result) => {
if (result) {
this.uploadImage(result.photoUris);
LogUtil.error(this.TAG, '')
result.photoUris.forEach((url) => {
console.log("url: " + url);
})
}
});
}
private uploadImage(paths: string[]) {
const allFiles = Array<request.File>()
for (let i = 0; i <paths.length; i++) {
let path = paths[i]
console.log("path: " + path)
allFiles[i] = {
name: "image" + i + ".jpg",
filename: "image" + i + ".jpg",
uri: path,
type: "jpg"
}
}
request.uploadFile(getContext(this), {
url: API_LIST.files,
method: "POST",
files: allFiles,
header: {
'content-type': 'multipart/from-data;boundary=----WebKitFormBoundaryn8D9asOnAnEU4Js0',
},
data: [
{
name: "fileName",
value: 'ceshi'
},
{
name: "file",
value: 这里应该传输一个file对象
},
{
name: "appId",
value: signHead.headData.appId
},
{
name: "uid",
value: signHead.headData.uid
},
{
name: "token",
value: signHead.headData.token
},
{
name: "deviceType",
value: signHead.headData.deviceType
}
]
}, (error, response) => {
if(response) {
response.on('progress', (uploadedSize: number, totalSize: number) => {
console.log("progress, uploadedSize: " + uploadedSize + ", totalSize: " + totalSize)
})
} else {
console.log("upload failure: " + error)
}
});
}
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS 上传图片,转化 formData 格式上传图片,转化未成功?
55浏览 • 1回复 待解决
如何使用HDC工具向只读路径(如system/lib64)中传输文件
2843浏览 • 1回复 待解决
服务接入华为分享怎么传输数据,怎么接收数据,可以传输图片吗?
5348浏览 • 1回复 待解决
HarmonyOS 如何将PhotoViewPicker返回的uri封装成File类型对象?
240浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在ArkTS中实现ArrayBuffer对象的拷贝传输?
140浏览 • 1回复 待解决
HarmonyOS怎么将object对象转化json格式的字符串 不是jsonobject 是自己定义的object
759浏览 • 1回复 待解决
HarmonyOS 如何通过Axios和FormData实现文件上传功能
15浏览 • 1回复 待解决
app同时需要添加两种权限"system_basic"和"system_core"要怎么处理?
2324浏览 • 2回复 待解决
HarmonyOS 工具类的app如何升级为system base,怎么提权
22浏览 • 1回复 待解决
request.uploadFile报错13400001,file operation error ,后端服务也没收到接口请求
596浏览 • 0回复 待解决
HarmonyOS @ohos.file.fs 怎么获取文件的扩展名
577浏览 • 1回复 待解决
HarmonyOS Sendable装饰的对象怎么获取
134浏览 • 1回复 待解决
HarmonyOS怎么使用request.downloadFile 加载打印进度
557浏览 • 1回复 待解决
应用权限授权的system_grant与user_grant怎么理解
435浏览 • 1回复 待解决
错误码:request.agent.State.FAILED怎么处理,request下载文件异常
408浏览 • 1回复 待解决
HarmonyOS 对象怎么判空?
572浏览 • 1回复 待解决
HarmonyOS 怎么获取VpnExtensionContext对象
21浏览 • 1回复 待解决
request.downloadConfig()函数报错怎么回事?
2763浏览 • 1回复 待解决
打包har出现no such file or directory错误怎么回事?
2433浏览 • 1回复 待解决
#鸿蒙学习大百科#Actor模型的线程间序列化传输对象有几种?
261浏览 • 1回复 待解决
HarmonyOS Formdata上传文件,总是提示文件为空
56浏览 • 1回复 待解决
文件存储file.readText接口,对应的uri是怎么获取的?
6880浏览 • 1回复 待解决
HarmonyOS request.agent.create和request.downloadFile的用法区别
44浏览 • 1回复 待解决
HarmonyOS emitter传输数据问题
106浏览 • 1回复 待解决
通过PhotoViewPicker获取到的图片不能直接用于传输,可以通过将其复制在应用沙箱路径下,然后再用沙箱路径下的文件进行传输。 下面是部分demo: