はじめまして。 Y-Fと申します。 ご質問の内容につきまして、ご案内させていただきます。 まず、ファイル操作はJavaScript単体ではできません。 アプリの開発用APIをサーバ側に実装して、利用する必要があります。 ここで必要なAPIはPhoneGap(Cordova)になるようです。 PhoneGap(Cordova)を実装して、使用できる状態になっていますか。 ■使用できる状態になっていない場合 ちょうどMonacaのサイト上で実装方法が紹介されていますので、ご覧になってください。 http://docs.monaca.mobi/ja/manual/application/phonegap/ ■既に使用できる状態の場合 おそらくこんな感じのコードになると思います。 懸念点は、ワイルドカード('*')指定が可能か分からなかったことです。 ///////////////////////////////////////// // PhoneGap(Cordova) の読み込み完了まで待機 // document.addEventListener("deviceready", onDeviceReady, false); //requestFileSystemの起動 function readFile(){ window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, getCopyFromFile, fail); } //コピー元ファイル情報の取得 function getCopyFromFile(fileSystem) { var filename = "file:///data/data/(パッケージ名)/www//img/*.png"; fileSystem.root.getFile(filename, {create: false}, copyFile, fail); } //ファイルのコピー function copyFile(fileEntry) { var parent = document.getElementById('file:///mnt/sdcard/hoge/').value, parentName = parent.substring(parent.lastIndexOf('/')+1), parentEntry = new DirectoryEntry(parentName, parent); // ファイルを新しいディレクトリにコピー(ファイル名は変更しないので、第2引数は空白) fileEntry.copyTo(parentEntry,"",success,fail); } //処理に失敗した場合の処理 function fail(evt) { console.log(evt.target.error.code); } ///////////////////////////////////////// 実際に動作させる環境がありませんので、誤っている部分があると思われますが、 参考になれば幸いです。 ※コンペという募集形式になっているため、jpgファイルを作品として添付する必要があるらしいため、 ダミーファイルを添付しておきました。 以上です。 よろしくお願いいたします。
メンバーからのコメント
はじめまして。
Y-Fと申します。
ご質問の内容につきまして、ご案内させていただきます。
まず、ファイル操作はJavaScript単体ではできません。
アプリの開発用APIをサーバ側に実装して、利用する必要があります。
ここで必要なAPIはPhoneGap(Cordova)になるようです。
PhoneGap(Cordova)を実装して、使用できる状態になっていますか。
■使用できる状態になっていない場合
ちょうどMonacaのサイト上で実装方法が紹介されていますので、ご覧になってください。
http://docs.monaca.mobi/ja/manual/application/phonegap/
■既に使用できる状態の場合
おそらくこんな感じのコードになると思います。
懸念点は、ワイルドカード('*')指定が可能か分からなかったことです。
/////////////////////////////////////////
// PhoneGap(Cordova) の読み込み完了まで待機 //
document.addEventListener("deviceready", onDeviceReady, false);
//requestFileSystemの起動
function readFile(){
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, getCopyFromFile, fail);
}
//コピー元ファイル情報の取得
function getCopyFromFile(fileSystem) {
var filename = "file:///data/data/(パッケージ名)/www//img/*.png";
fileSystem.root.getFile(filename, {create: false}, copyFile, fail);
}
//ファイルのコピー
function copyFile(fileEntry) {
var parent = document.getElementById('file:///mnt/sdcard/hoge/').value,
parentName = parent.substring(parent.lastIndexOf('/')+1),
parentEntry = new DirectoryEntry(parentName, parent);
// ファイルを新しいディレクトリにコピー(ファイル名は変更しないので、第2引数は空白)
fileEntry.copyTo(parentEntry,"",success,fail);
}
//処理に失敗した場合の処理
function fail(evt) {
console.log(evt.target.error.code);
}
/////////////////////////////////////////
実際に動作させる環境がありませんので、誤っている部分があると思われますが、
参考になれば幸いです。
※コンペという募集形式になっているため、jpgファイルを作品として添付する必要があるらしいため、
ダミーファイルを添付しておきました。
以上です。
よろしくお願いいたします。