HarmonyOS system.request 怎么传输formData格式的file对象
后台接口需要传输multipart/form-data 格式数据,经过PhotoViewPicker后拿到的图片路径,但是后台接口需要file对象。前端代码如下:
const formData = new FormData()
formData.append('file',e.file)
formData.append('fileName', e.fileName)
- 1.
- 2.
- 3.
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)
}
});
}
- 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.
- 62.
- 63.
- 64.
- 65.
- 66.
- 67.
- 68.
- 69.
- 70.
- 71.
- 72.
HarmonyOS
赞
收藏 0
回答 1
相关问题
HarmonyOS 上传图片,转化 formData 格式上传图片,转化未成功?
715浏览 • 1回复 待解决
HarmonyOS 有没有对应Java语言File的对象
566浏览 • 1回复 待解决
服务接入华为分享怎么传输数据,怎么接收数据,可以传输图片吗?
6167浏览 • 1回复 待解决
如何使用HDC工具向只读路径(如system/lib64)中传输文件
3869浏览 • 1回复 待解决
HarmonyOS 如何将PhotoViewPicker返回的uri封装成File类型对象?
1026浏览 • 1回复 待解决
请问,在日志工具类中怎么才能转化对象为漂亮的JSON格式呀
505浏览 • 1回复 待解决
HarmonyOS怎么将object对象转化json格式的字符串 不是jsonobject 是自己定义的object
1580浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在ArkTS中实现ArrayBuffer对象的拷贝传输?
1202浏览 • 1回复 待解决
request.uploadFile报错13400001,file operation error ,后端服务也没收到接口请求
1941浏览 • 0回复 待解决
HarmonyOS 工具类的app如何升级为system base,怎么提权
505浏览 • 1回复 待解决
HarmonyOS怎么使用request.downloadFile 加载打印进度
1366浏览 • 1回复 待解决
app同时需要添加两种权限"system_basic"和"system_core"要怎么处理?
2908浏览 • 2回复 待解决
HarmonyOS .zip格式的lottie动画,应该怎么使用
738浏览 • 1回复 待解决
HarmonyOS Formdata上传文件,总是提示文件为空
673浏览 • 1回复 待解决
HarmonyOS @ohos.file.fs 怎么获取文件的扩展名
1641浏览 • 1回复 待解决
HarmonyOS Sendable装饰的对象怎么获取
688浏览 • 1回复 待解决
错误码:request.agent.State.FAILED怎么处理,request下载文件异常
1082浏览 • 1回复 待解决
request.downloadConfig()函数报错怎么回事?
3408浏览 • 1回复 待解决
HarmonyOS 悬浮窗权限ohos.permission.SYSTEM_FLOAT_WINDOW怎么申请
1021浏览 • 1回复 待解决
HarmonyOS 对象怎么判空?
1848浏览 • 1回复 待解决
HarmonyOS 怎么获取VpnExtensionContext对象
434浏览 • 1回复 待解决
HarmonyOS 如何通过Axios和FormData实现文件上传功能
1608浏览 • 1回复 待解决
HarmonyOS request.agent.create和request.downloadFile的用法区别
810浏览 • 1回复 待解决
应用权限授权的system_grant与user_grant怎么理解
1495浏览 • 1回复 待解决
通过PhotoViewPicker获取到的图片不能直接用于传输,可以通过将其复制在应用沙箱路径下,然后再用沙箱路径下的文件进行传输。 下面是部分demo: