HarmonyOS 鸿蒙Next 上传图片到服务器报错:.Code:13400001,message: file operation error

发布于 1周前 作者 sinazl 最后一次编辑是 5天前 来自 鸿蒙OS

求指点, 没搞明白错哪里了 … Failedtorequesttheupload.Code:13400001,message: file operation error

 // 拉起系统图库
          const photoViewPicker = new photoAccessHelper.PhotoViewPicker();
          photoViewPicker.select(photoSelectOptions)
            .then((photoSelectResult: photoAccessHelper.PhotoSelectResult) => {
              this.imageArray = photoSelectResult.photoUris;

              photoSelectResult.photoUris.forEach((uri) => {
                const file = fs.openSync(uri, fs.OpenMode.READ_ONLY);
                const uploadFileName = new Date().getTime() + '.jpg';
                const filePath = cacheDir + '/' + uploadFileName;
                fs.copyFileSync(file.fd, filePath);
                fs.closeSync(file);
                this.uploadImage(uploadFileName);
              })
            })
            .catch((err: BusinessError) => {
              console.error(`Invoke photoViewPicker.select failed, code is ${err.code}, message is ${err.message}`);
            })

//上传

uploadImage(uploadFileName:string){
    let uploadTask: request.UploadTask;
    let uploadConfig: request.UploadConfig = {
      url: baseUrl+ 'third/obs/attachment/fileUpload/app',
      header: {
        "Content-Type":"multipart/form-data",
        "Authorization":`Bearer ${user_token}`
      },
      method: 'POST',
      files: [
        {
          filename: 'feedback',
          name: 'file',
          uri: `internal://cache/${uploadFileName}`,
          type: 'jpg'
        }
      ],
      data: []
    }
    console.log('uploadConfig', JSON.stringify(uploadConfig))
    try {
      //上传请求
      request.uploadFile(getContext(), uploadConfig, (err: BusinessError, data: request.UploadTask) => {
        if (err) {
          console.error(`Failedtorequesttheupload.Code:${err.code},message:${err.message}`);
          return;
        }
        uploadTask = data;
      });
    } catch (err) {
      console.error(`Failedtorequesttheupload.err:${JSON.stringify(err)}`);
    }
  }

更多关于HarmonyOS 鸿蒙Next 上传图片到服务器报错:.Code:13400001,message: file operation error的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

6 回复

从代码上看好像没什么问题的,最好再确认一下以下信息

1.是否是真机调试(模拟器可能存在问题),有无完整错误日志

2.是否有网络权限

3.on('complete'|'fail')获取下上传时的错误信息

更多关于HarmonyOS 鸿蒙Next 上传图片到服务器报错:.Code:13400001,message: file operation error的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


感谢大佬回复,目前用的是模拟器,手上没有真机… 网络权限是有的 .

[request_service_proxy.cpp Create 77] End send create request, failed: 13400001 [request_manager_impl.cpp Create 74] Request create, seq: 0, failed: 13400001 [js_task.cpp CreateExec 202] End create task in JsTask CreateExec, seq: 0, failed: 13400001 [js_task.cpp operator() 157] End task create in AsyncCall output, seq: 0, failed:13400001 [napi_utils.cpp operator() 633] errorCode: 13400001, errInfo: Failedtorequesttheupload.Code:13400001,message: file operation error

模拟器不行,真机可以,我试过了

希望HarmonyOS能加强与其他品牌设备的兼容性,让更多人受益。

明白了 , 感谢

在HarmonyOS 鸿蒙Next系统中上传图片到服务器遇到错误代码13400001,错误信息为“file operation error”,这通常指示在文件操作过程中出现了问题。可能的原因包括:

  1. 文件路径错误:检查你指定的图片文件路径是否正确,确保文件存在于该路径下,并且应用有权限访问该路径。

  2. 文件权限问题:确认应用具有读取和写入文件的权限。在HarmonyOS中,应用需要声明相应的权限才能访问文件系统。

  3. 文件状态异常:文件可能被其他进程锁定或正在使用中,导致无法执行上传操作。

  4. 文件损坏或格式不支持:确保上传的图片文件未损坏且格式符合服务器要求。

  5. 服务器配置问题:检查服务器是否接受文件上传,以及是否有大小、类型等限制。

  6. 网络问题:确认网络连接稳定,且服务器地址和端口配置正确。

解决这些问题后,重新尝试上传图片。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部