teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

Androidでの解決方法について補足

2021/04/29 09:56

投稿

kgp
kgp

スコア0

answer CHANGED
@@ -1,9 +1,19 @@
1
1
  自己解決しました。
2
+ ファイル実体は
2
- ファイル実体は「cordova.file.tempDirectory」の方から拾えるようで、
3
+ iOS:cordova.file.tempDirectory
4
+ Android:cordova.file.externalRootDirectory
5
+ の方から拾えるようで、
3
6
  そちらを送信したところ、正常なファイルサイズのファイルを送信できました。
4
7
  ```cordova
8
+ var tmpfile;
9
+ if (cordova.platformId == 'ios') {
10
+ tmpfile = cordova.file.tempDirectory + $scope.item.localURL;
11
+ } else {
12
+ tmpfile = cordova.file.externalRootDirectory + $scope.item.localURL;
13
+ }
14
+
5
15
  resolveLocalFileSystemURL(
6
- cordova.file.tempDirectory + $scope.item.localURL,
16
+ tmpfile,
7
17
  function (entry) {
8
18
  console.log(entry);
9
19
  fileTransfer.upload(entry.toURL(), uri, uploadSuccess, uploadFail, uploadOptions);
@@ -13,6 +23,6 @@
13
23
  });
14
24
  ```
15
25
 
16
- LocalFileSystem.PERSISTENTとLocalFileSystem.TEMPORARY完全に理解できておらず…
26
+ 各OSファイルシステムにつ完全に理解できておらず…
17
27
  まだ釈然としない思いはありますが、ひとまず実現したいことは完遂できそうなので、
18
28
  本件は解決とします。