簡體   English   中英

Android 無法識別 Flutter App 下載的圖片

[英]Android Doesn't Recognize Image Downloaded by Flutter App

Android Flutter 應用程序從另一部 Android 手機上的服務器下載圖像。 下載后,手機圖庫或文件瀏覽器無法打開或查看文件。 然而,當用十六進制編輯器檢查時,下載的文件和原始文件是完全相同的副本,當導入到 Windows 時,圖像查看器可以查看“損壞”的下載文件。 我能在文件之間找到的唯一區別是 Windows 檢查的元數據。 這可能是什么原因?

Android 服務器上的原始文件:下載文件元數據的照片

安卓客戶端下載文件:下載文件元數據的照片

這是我用來從 Uint8list 創建文件的代碼:

  Future<File> downloadFileAndroid(Uint8List fileBytes, String fileName) async{

    var dir = await getExternalStorageDirectory();
    File photoFile;

    var photoDirectory = await Directory(dir.path + "/Downloader").create(recursive: true);
    photoFile = await new File(photoDirectory.path + "/" + fileName).create();
    if(await photoFile.exists()){
      await photoFile.writeAsBytes(fileBytes);// also tried flush: true
      print("Created file and it exists");
    } else {
      print("Error: tried to create file but it doesnt exist");
    }
}

從互聯網下載圖像並為其設置 png 擴展名時,我遇到了這個問題。 在文件名上使用擴展名通常會導致此錯誤。 考慮使用https://pub.dev/packages/image_downloader使用示例代碼中的默認函數下載圖像。 使用默認選項,擴展名不是由編碼器決定的,而是由它自己決定的。

暫無
暫無

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

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