1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Google Driveに保存した画像を取得する

Posted at

flutterでUI作成している時につまづいたのでメモ。

やろうとしたこと

  1. GoogleDriveに画像保存
    スクリーンショット 2022-12-31 1.56.00.png

  2. リンクをコピーを押してurlを取得
    スクリーンショット 2022-12-31 1.57.07.png

  3. ImageWidgetで取得したリンクの画像を表示

Image.network({'取得したリンクのurl'})

発生したエラー

  • 画像は表示されず。

スクリーンショット 2022-12-31 2.07.26.png

  • 画像取得時にエラーが出ているよう
E/FlutterJNI( 2168): Failed to decode image
E/FlutterJNI( 2168): android.graphics.ImageDecoder$DecodeException: Failed to create image decoder with message 'unimplemented'Input contained an error.
E/FlutterJNI( 2168): 	at android.graphics.ImageDecoder.nCreate(Native Method)
E/FlutterJNI( 2168): 	at android.graphics.ImageDecoder.access$200(ImageDecoder.java:172)
E/FlutterJNI( 2168): 	at android.graphics.ImageDecoder$ByteBufferSource.createImageDecoder(ImageDecoder.java:242)
E/FlutterJNI( 2168): 	at android.graphics.ImageDecoder.decodeBitmapImpl(ImageDecoder.java:1870)
E/FlutterJNI( 2168): 	at android.graphics.ImageDecoder.decodeBitmap(ImageDecoder.java:1863)
E/FlutterJNI( 2168): 	at io.flutter.embedding.engine.FlutterJNI.decodeImage(FlutterJNI.java:524)

対処方法

上記で取得していたリンクは、あくまで画像をプレビューするためのURLらしく、画像自体を取得するには別途URLが必要らしい

以下手順

  1. リンクのアクセス権を変更

スクリーンショット 2022-12-31 2.14.59.png

2. URLを以下のように変更する

  • before
    https://drive.google.com/file/d/{id}/view?usp=share_link

  • after
    https://drive.google.com/uc?id={id}

(上記の{id}は共通です)

結果

エラーが解消され、画像が表示できました

スクリーンショット 2022-12-31 2.27.56.png

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?