HarmonyOS axios上传文件失败?

this.imgUrl为PhotoViewPicker选择照片后返回的路径
let file = fs.openSync(this.imgUrl, fs.OpenMode.CREATE);
// 复制文件到缓存目录下
fs.copyFileSync(file.fd, cacheDir + '/test.jpg')
let formData = new FormData();

formData.append('file', 'internal://cache/' + '/test.jpg')

axiosHttp.post('/api/ai/xun-ai/tongue/submit', formData)
  .then((v: AxiosResponse) => {
    console.log('请求上传文件', JSON.stringify(v))
  })
  .catch((e: AxiosError) => {
    console.log('请求上传文件失败', JSON.stringify(e))
  })

请问以上代码有何错漏之处吗?

阅读 494
1 个回答

let file = fs.openSync(this.imgUrl,fs.OpenMode.READ\_WRITE | fs.OpenMode.CREATE);

示例demo:

import { BusinessError } from '@ohos.base';
let filePath = pathDir + "/test.txt";
fs.open(filePath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE).then((file: fs.File) => {
  console.info("file fd: " + file.fd);
  fs.closeSync(file);
}).catch((err: BusinessError) => {
  console.error("open file failed with error message: " + err.message + ", error code: " + err.code);
});

参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-file-fs-V5\#fsopen

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进