HarmonyOS 上传图片到服务器

如何上传图片到服务器,我尝试了api提供的方法,但是并没有成功。

这是我的代码块

// 定义上传文件的函数
uploadImage(realPath: string) {

  // 新建一个本地应用文件
  let file = fs.openSync(realPath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
  fs.writeSync(file.fd, 'upload file test');
  fs.closeSync(file);

  // 创建一个 FormData 对象来封装上传的数据
  const formData = new FormData();
  formData.append('file', file, realPath.split('/').pop()!);
  formData.append('fileUploadType', 'RESOURCEBIT_FILE');
  uploadFeedbackFile(formData).then((result) => {

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

request请求接口通过POST上传图片文件,文件上传文件需要使用类型为 multipart/form-data提交,请求部分demo如下:

uploadImage() {
  let context1 = getContext(this) as common.UIAbilityContext;
  let uploadConfig1 = {
    url: 'http://127.0.0.1:8224/system/upload/upFile2',
    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
微信
回复
1天前
相关问题
HarmonyOS 选择图片上传服务器的demo
354浏览 • 1回复 待解决
HarmonyOS 文件上传服务器问题
546浏览 • 1回复 待解决
HarmonyOS Rcp.post上传图库文件至服务器
550浏览 • 1回复 待解决
请求服务器图片资源刷新卡片
1041浏览 • 1回复 待解决
HarmonyOS如何上传图片模拟相册
1105浏览 • 1回复 待解决