質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Ionic

Ionicは、クロスプラットフォームに対応したモバイルアプリ開発のためのオープンソースUIフレームワークです。iOSやAndroid、Webのアプリケーションを1つのコードベースで開発できます。

Q&A

解決済

1回答

2231閲覧

ionic4での画像の取り扱いについて

shi_o

総合スコア53

Ionic

Ionicは、クロスプラットフォームに対応したモバイルアプリ開発のためのオープンソースUIフレームワークです。iOSやAndroid、Webのアプリケーションを1つのコードベースで開発できます。

0グッド

0クリップ

投稿2019/01/13 15:50

編集2019/01/13 16:11

前提・実現したいこと

ionic4でカメラロールから取得した画像をローカルに保存し、画面にも表示できるようにしたい。

発生している問題・エラーメッセージ

ローカルに保存まではできるようになったが、画面に表示が上手くいかないです。

Base64に変換していないからなのでは?と思い、Ionic Native pluginsの「Base64」をインポートし、
下記のように変換できるか試してみたが、そもそもアプリが起動時(ios)にエラーとなり、
上手くいかず・・・

this.base64.encodeFile(filePath).then((base64File: string) => { console.log(base64File); }, (err) => { console.log(err); });

他の方法でBase64の変換ができるような方法が知りたいです。

また、そもそもBase64は関係ない場合はご指摘いただきたいです。

該当のソースコード

ionic

1 2<ion-header> 3 <ion-toolbar> 4 <ion-title> 5 Title 6 </ion-title> 7 </ion-toolbar> 8</ion-header> 9 10<ion-content> 11 <img [src]="image"> 12 <ion-button (click)="takePhoto()">take photo</ion-button> 13</ion-content> 14

ionic

1 2takePhoto() { 3 4 // 〜省略〜 // 5 6 const { Camera, Filesystem } = Plugins; 7 8 let options = { 9 resultType: CameraResultType.Uri, 10 source: CameraSource.Photos 11 }; 12 13 // ①カメラロールから画像を取得 14 const img = await Camera.getPhoto(options); 15 16 let contents = await Plugins.Filesystem.readFile({ 17 path: img.path 18 }); 19 20 // ②ローカルに書き込み 21 Plugins.Filesystem.writeFile({ 22 data: contents.data, 23 path: "aaa.jpeg", 24 directory: FilesystemDirectory.Data 25 }); 26 27 // ③ローカルに書いた画像のUri取得 28 let imageuri = await Filesystem.getUri({ 29 directory: FilesystemDirectory.Data, 30 path: "aaa.jpeg" 31 }); 32 33 this.image = imageuri.uri; 34} 35

補足情報(FW/ツールのバージョンなど)

Ionic + Capacitor

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

https://github.com/ionic-team/capacitor/blob/master/example/src/pages/camera/camera.ts


まさにこのようなと言った処理が書かれておりました。

投稿2019/01/14 08:25

編集2019/01/14 08:26
shi_o

総合スコア53

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問