簡體   English   中英

Ionic - Ios - Cordova 文件插件 - 錯誤

[英]Ionic - Ios - Cordova File Plugin - Error

我正在開發一個針對 iOS 和 Android 的混合應用程序。 我必須實現一個照片上傳器,所以我通過ImagePickerFile Cordova 插件實現了它。 我在 Android 上測試過,一切正常。

問題是當我針對 iOS 測試它時,我通過ImagePicker獲取了圖像 URI,但是File會引發以下錯誤:

[錯誤] - 錯誤錯誤:未捕獲(承諾):
文件錯誤:{"code":5,"message":"ENCODING_ERR"}

我已經看到很多與此錯誤相關的問題,但所有這些問題都與 Android 相關,而我在使用 iOS 時遇到了問題。 我知道這是一個非常復雜的問題,所以如果有人能給我任何建議,我將不勝感激。

有關該問題的更多詳細信息:

this.imagePicker
  .getPictures({
      maximumImagesCount: 1,
  })
  .then(async (result : string[]) => {
      let file = 'file://' + result[0];
      let path = file.substring(0, file.lastIndexOf("/") + 1);
      this.image = await this.file.readAsDataURL(path, file): // Line which throws the exception
  });

PS:我已經嘗試以我能想象的所有方式添加“file://”=)

提前致謝

感謝你們的幫助,我通過將 outputType 更改為 1 (base64 dataURL) 而不是 0 (URI) 解決了我的問題。

這是修復我的錯誤的代碼。

this.imagePicker
    .getPictures({
      outputType: 1,
    })
    .catch((e) => alert(e))
    .then(async (results: string[]) => {
         this.image = "data:image/jpg;base64," + results[0]
      }
    });

對此的一個可能解釋是 ImagePicker 正在從 ios 庫目錄復制到 ImagePicker 的臨時目錄,然后 File 正在嘗試讀取這些復制的文件,但它們必須已被 iOS 文件系統刪除。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM