質問編集履歴

4

修正

2017/10/26 13:31

投稿

young
young

スコア6

test CHANGED
File without changes
test CHANGED
@@ -24,7 +24,9 @@
24
24
 
25
25
 
26
26
 
27
+ ``````````````````````````````
28
+
27
- // ファイル名用の時間 ミリ秒でファイル名
29
+ // ファイル名用の時間 ミリ秒でファイル名
28
30
 
29
31
  var time;
30
32
 
@@ -192,7 +194,13 @@
192
194
 
193
195
  // 成功したらURLを返す
194
196
 
197
+          ///////////////////////////////
198
+
199
+          /////ここでURLを保存して起動時にそのURLを読みこむようにしてます。//////
200
+
201
+ //////////////////////////////
202
+
195
- console.log(entry.toNativeURL());
203
+ //console.log(entry.toNativeURL());
196
204
 
197
205
  }
198
206
 
@@ -217,3 +225,5 @@
217
225
  console.log('Camera Error:' + message)
218
226
 
219
227
  }
228
+
229
+ ```

3

修正

2017/10/26 13:31

投稿

young
young

スコア6

test CHANGED
File without changes
test CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
 
22
22
 
23
- コード長いのでカメラ取得関数からファイル保存関数&コールバックの処理だけ記述します。
23
+ コード長いのでアルバムから画像取得する関数からファイル保存関数&コールバックの処理だけ記述します。
24
24
 
25
25
 
26
26
 

2

修正

2017/10/26 13:21

投稿

young
young

スコア6

test CHANGED
File without changes
test CHANGED
@@ -15,3 +15,205 @@
15
15
 
16
16
 
17
17
  Android、iosともにアプリ再起動のみなら画像を読み込んで表示されています。
18
+
19
+
20
+
21
+
22
+
23
+ コード長いのでカメラ取得関数からファイル保存関数&コールバックの処理だけ記述します。
24
+
25
+
26
+
27
+ // ファイル名用の時間 ミリ秒でファイル名
28
+
29
+ var time;
30
+
31
+ // 新しいファイルの名前
32
+
33
+ var newFileName;
34
+
35
+ // イメージの保存先
36
+
37
+ var myFolderName = "user_image";
38
+
39
+ // Entryオブジェクト一時保持
40
+
41
+ var saveEntry;
42
+
43
+
44
+
45
+ var getImage = function(a,b,c) {
46
+
47
+
48
+
49
+ var options = {
50
+
51
+ // ファイルを返すようにする
52
+
53
+ destinationType: Camera.DestinationType.FILE_URI,
54
+
55
+ // 画像編集あり
56
+
57
+ allowEdit:true,
58
+
59
+ // アルバムを開く
60
+
61
+ sourceType: Camera.PictureSourceType.SAVEDPHOTOALBUM,
62
+
63
+ // 拡張子はJPEG
64
+
65
+ encodingType: Camera.EncodingType.JPEG,
66
+
67
+ // 画質
68
+
69
+ quality: a,
70
+
71
+ // 画像の横サイズ
72
+
73
+ targetWidth: b,
74
+
75
+ // 画像の縦サイズ
76
+
77
+ targetHeight: c
78
+
79
+ };
80
+
81
+ // 起動 成功したらuriを返す
82
+
83
+ navigator.camera.getPicture(cameraSuccess,
84
+
85
+ cameraError,
86
+
87
+ options);
88
+
89
+ }
90
+
91
+
92
+
93
+ //getPictureのコールバック関数
94
+
95
+ var cameraSuccess = function(uri) {
96
+
97
+ // uriのFileSystemオブジェクトを取得
98
+
99
+ // 成功したらEntryオブジェクトを返す
100
+
101
+ window.resolveLocalFileSystemURL(uri,
102
+
103
+ resolveSuccess,
104
+
105
+ fileError);
106
+
107
+ }
108
+
109
+
110
+
111
+ // resolveLocalFileSystemURIのコールバック関数
112
+
113
+ var resolveSuccess = function(entry) {
114
+
115
+
116
+
117
+ // Entryオブジェクト保持
118
+
119
+ saveEntry = entry;
120
+
121
+ // PERSISTENTのFileSystemオブジェクトを取得
122
+
123
+ // 成功したらFileSystemオブジェクトを返す
124
+
125
+ window.requestFileSystem(LocalFileSystem.PERSISTENT,
126
+
127
+ 0,
128
+
129
+ fileSystemSuccess,
130
+
131
+ fileError);
132
+
133
+ }
134
+
135
+
136
+
137
+ // requestFileSystemのコールバック関数
138
+
139
+ var fileSystemSuccess = function(fileSystem) {
140
+
141
+ // myFolderNameというディレクトリを取得(なければ作成)
142
+
143
+ // 成功したらDirectoryオブジェクトを返す
144
+
145
+ fileSystem.root.getDirectory(myFolderName,
146
+
147
+ {create: true, exclusive: false},
148
+
149
+ DirectorySuccess,
150
+
151
+ fileError);
152
+
153
+ }
154
+
155
+
156
+
157
+ // getDirectoryのコールバック関数
158
+
159
+ var DirectorySuccess = function(directory) {
160
+
161
+ // 現在のmsを取得
162
+
163
+ time = new Date().getTime();
164
+
165
+ // それを元にファイル名を作成
166
+
167
+ newFileName = time + ".jpg";
168
+
169
+
170
+
171
+ // myFolderNameにファイルをコピー
172
+
173
+ // 成功したらEntryオブジェクトを返す
174
+
175
+ saveEntry.copyTo(directory,
176
+
177
+ newFileName,
178
+
179
+ copySuccess,
180
+
181
+ fileError);
182
+
183
+ }
184
+
185
+
186
+
187
+ // getDirectoryのコールバック関数
188
+
189
+ var copySuccess = function(entry) {
190
+
191
+ // URLに変換
192
+
193
+ // 成功したらURLを返す
194
+
195
+ console.log(entry.toNativeURL());
196
+
197
+ }
198
+
199
+
200
+
201
+ // ファイル操作エラー関数
202
+
203
+ function fileError(error) {
204
+
205
+ console.log('ファイル失敗');
206
+
207
+ console.log('File System Error:' + error.code)
208
+
209
+ }
210
+
211
+
212
+
213
+ // カメラのエラー用関数
214
+
215
+ function cameraError(message) {
216
+
217
+ console.log('Camera Error:' + message)
218
+
219
+ }

1

修正

2017/10/26 13:20

投稿

young
young

スコア6

test CHANGED
File without changes
test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  IOSの場合ビルドしてアプリ更新すると画像が表示されなくなります。
12
12
 
13
- IOSだとビルドし直すとファイル削除されてしまうのですか?
13
+ IOSだとビルドし直すとパスが変わったり、ファイル削除されてしまうのですか?
14
14
 
15
15
 
16
16