HarmonyOS @ohos/httpclient上传文件问题

在HarmonyOS中,使用@ohos/httpclient网络请求库封装如下:

/**
 * 图片上传接口
 * @returns
 */
uploadImg(filePath: string): void {

  let fileUploadBuilder: FileUpload = new FileUpload.Builder()
    .addFile(filePath)
    .build();

  let requestBody: RequestBody = RequestBody.create(fileUploadBuilder.getFile(),
    new Mime.Builder().contentType(MediaType.parse('image/png')).build().getMime());

  let request: Request = new Request.Builder()
    .url(AppUrl.IMAG_URL)
    .post(requestBody)
    .build();
  OkHttpUtil.getOkHttpClient()
  .newCall(request)
  .execute()
  .then((result: Response) => {
  if (result) {
    let res = result.result;
    Logger.debug(TAG, '-----图片上传接口 解码后的返回值-----' + res);
    if (res.includes('rc')) {
      let baseResponse: BaseResponse<String> = JSON.parse(res);
      let rc = baseResponse.rc;
      if (rc === '0') {
        // TODO 成功
      } else {
        // 请求失败,错误信息
      }
    }
  }
})
.catch((error: BusinessError<string>) => {
  if (error) {
    // 请求失败,错误信息
  }
});
}

结果接口请求成功,但服务器中获取到的图片不能正常打开。

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

当前httpclient使用@ohos.request实现上传下载功能,上传当前仅支持沙箱路径下的文件。

通过URI转file使用这个方法尝试:

import { fileIo as fs, picker } from '@kit.CoreFileKit'; 
let file: fs.File = fs.openSync(uri);
分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS上传文件问题
688浏览 • 1回复 待解决
HarmonyOS 上传文件问题
212浏览 • 1回复 待解决
HarmonyOS日志文件上传问题
678浏览 • 1回复 待解决
HarmonyOS 文件上传 & 资源读取问题
774浏览 • 1回复 待解决
HarmonyOS request文件上传问题
20浏览 • 1回复 待解决
HarmonyOS 文件上传服务器问题
546浏览 • 1回复 待解决
HarmonyOS 文件上传下载api问题
162浏览 • 1回复 待解决
js开发上传文件路径问题
6531浏览 • 2回复 待解决
HarmonyOS axios上传文件数据传递问题
22浏览 • 1回复 待解决
HarmonyOS 如何上传文件
268浏览 • 1回复 待解决
httpclient三方库代理请求关闭问题
1282浏览 • 1回复 待解决
HarmonyOS 录音上传文件
205浏览 • 1回复 待解决
HarmonyOS 文件上传无法解析文件地址
183浏览 • 1回复 待解决
HarmonyOS web组件上传文件
432浏览 • 1回复 待解决
HarmonyOS 上传文件相关Demo
704浏览 • 1回复 待解决
HarmonyOS axios上传文件失败
129浏览 • 1回复 待解决
HarmonyOS 文件上传报错
312浏览 • 1回复 待解决
HarmonyOS ohos/dataorm问题
272浏览 • 1回复 待解决