HarmonyOS 选择相册图片,上传到服务器

使用request.uploadFile上传文件,报错upOnFail taskState:{“path”:"/data/storage/el2/base/haps/entry/cache/screenShot_1719989877434.jpg",“responseCode”:17,“message”:“Http protocol error”}

其他系统的接口调用如截图。

HarmonyOS 选择相册图片,上传到服务器 -鸿蒙开发者社区

HarmonyOS 选择相册图片,上传到服务器 -鸿蒙开发者社区

是因为我参数传的有问题吗?已确认是https协议

HarmonyOS
3天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

可以参考以下demo试试:

uploadImage() {
  let context1 = getContext(this) as common.UIAbilityContext;
  let uploadConfig1 = {
    url: 'http://huawei.com',
    header: {"Content-Type":"multipart/form-data","Authorization":"" },
    method: 'POST',
    files: [
      { filename: 'test.jpg', name: 'file', uri: 'internal://cache/test.jpg', type: 'jpg' }
    ],
    data: [
      { name: 'test', value: '111' }
    ]
  }
  // 将本地应用文件上传至网络服务器
  try {
    request.uploadFile(context1, uploadConfig1)
      .then((uploadTask) => {
        uploadTask.on('complete', (taskStates) => {
          for (let i = 0; i < taskStates.length; i++) {
            console.info(`xx upload complete taskState: ${JSON.stringify(taskStates[i])}`);
            this.message = JSON.stringify(taskStates[i])
          }
        });
      })
      .catch((err) => {
        console.error(`xx Invoke uploadFile failed, code is ${err.code}, message is ${err.message}`);
        this.message = err.message
      })
  } catch (err) {
    console.error(`xx Invoke uploadFile failed, code is ${err.code}, message is ${err.message}`);
    this.message = err.message
  }
}
分享
微博
QQ
微信
回复
3天前
相关问题
HarmonyOS 文件上传服务器问题
397浏览 • 1回复 待解决
HarmonyOS 关于从相册选择图片上传
37浏览 • 1回复 待解决
HarmonyOS如何上传图片到模拟相册
980浏览 • 1回复 待解决
请求服务器图片资源刷新卡片
932浏览 • 1回复 待解决
HarmonyOS Rcp.post上传图库文件至服务器
336浏览 • 1回复 待解决