使用http如何实现多表单上传图片以及携带参数?

//携带的参数 
let payload = `from:${from}:to=${to}:v=3:paste=1` 
//上传的图片 
let multiFormDataList: http.MultiFormData[] = [ 
  { 
    name: 'image', 
    contentType: 'image/jpeg', 
    filePath: imagePath, 
    remoteFileName: FileUtils.getFileName(imagePath) 
  }] 
//header  
Content-Type:multipart/form-data

调用服务端接口时,返回参数错误。能否提供一个例子。

HarmonyOS
2024-11-14 09:09:28
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

可以参考如下:

async http_request() { 
  // 上传ArrayBuffer 
  let uploadData = "108,xxxx,xxx"; 
  let splitArr = uploadData.split(",") 
  let uArr = new Uint8Array(splitArr.length) 
  splitArr.forEach((value, index) => { 
    uArr[index] = parseInt(value) 
  }) 
 
  let requestMultipart : http.MultiFormData[] = [ 
  // 上传表单参数 
    { 
      name: "name", 
      contentType: "", 
      data: "chisj" 
    }, 
    { 
      name: "age", 
      contentType: "", 
      data: "18" 
    }, 
    // 上传文件 filePath是文件沙箱路径 
    { 
      name: "file", 
      contentType: "multipart/form-data", 
      filePath: this.filePath 
    }, 
    // 上传字节流 
    { 
      name: "arrayBuffer", 
      contentType: "application/octet-stream", 
      data: uArr.buffer 
    }, 
  ] 
  let result = await http.createHttp().request("http://139.xxx.xx.126:xxx/file/upload", { 
    method: http.RequestMethod.POST, 
    header: { "content-type": 'multipart/form-data' }, 
    multiFormDataList: requestMultipart, 
  }) 
  console.log("uploadLog === " + result.result as string) 
} 
 
// 日志打印如下 file里面的154表示文件的大小,其他都是以表单数据接收 
uploadLog === {"arrayBuffer":"lmn","file":154,"name":"chisj","age":"18"}

​multiFormDataList : Array<MultiFormData> : 当’content-Type’为’multipart/form-data’时,则上传该字段定义的数据字段表单列表。

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-http-V5

filePath : string

此参数根据文件的内容设置mime部件的正文内容。用于代替data将文件数据设置为数据内容,如果data为空,则必须设置filePath。如果data有值,则filePath不会生效。

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-http-V5#multiformdata11

分享
微博
QQ
微信
回复
2024-11-14 17:00:09
相关问题
http请求如何表单形式进行传输
2759浏览 • 1回复 待解决
HarmonyOS如何实现图片上传
459浏览 • 1回复 待解决
怎么实现后台上传图片
2329浏览 • 1回复 待解决
如何在HarmonyOS中实现图片上传功能?
216浏览 • 0回复 待解决
MySQL如何多表合并查询?
2684浏览 • 1回复 待解决
使用axios上传图片时候错误
174浏览 • 1回复 待解决
router.back如何携带参数返回给上一级
1573浏览 • 1回复 待解决
求大佬告知如何http文件上传
810浏览 • 1回复 待解决
HTTP GET请求时如何传递参数
3129浏览 • 1回复 待解决
使用图片压缩API的参数影响
513浏览 • 1回复 待解决
HarmonyOS http网络访问,参数问题
243浏览 • 1回复 待解决
HarmonyOS http 请求 post 参数问题
995浏览 • 1回复 待解决