16401


monacaにて、ローカルファイルを選択してパスを取得する方法がわかりません。  
具体的には、端末にある音声ファイルを選択し、アプリに登録したいと考えています。

画像に関してはCameraプラグインという便利なものがありますが、  
画像以外のファイルについては、同様のことをどのように実現すればよいでしょうか？

よろしくお願いします。


CC BY-SA 3.0
2015-08-26T09:18:21.910
14865
2015-09-08T23:37:02.963
8013
question
monaca cordova
monacaでファイル選択ダイアログを表示する方法


検証していませんが，こちらが参考になるかもしれません．  
<http://ramkulkarni.com/blog/file-chooser-dialog-for-phonegap-application/>


CC BY-SA 3.0
2015-09-06T12:54:02.977
16314
2015-09-06T12:54:02.977
11025
14865
answer


別の方法です．

`<input type="file">`
を含むページを作れば，そこからファイル選択ダイアログが出せます．そこで選んだファイルを，このinput要素から何らかの方法で取得してやればよいはずです．

AngularJS なら，ngModel と類似した機能を持つ fileModel
という以下のようなディレクティブを定義すれば，適当な変数にバインドできます．

[code]

    app.directive('fileModel',function($parse){
        return{
            restrict: 'A',
            link: function(scope,element,attrs){
                var model = $parse(attrs.fileModel);
                element.bind('change',function(){
                    scope.$apply(function(){
                        model.assign(scope,element[0].files[0]);
                    });
                });
            }
        };
    });
    
[/code]

（<http://qiita.com/zaburo/items/f03433caa710902d599f> から引用）

HTML側では，

[code]

    <input type="file" file-model="src">
    
[/code]

のようにすれば，`src`にfileオブジェクトがバインドされます．


CC BY-SA 3.0
2015-09-08T23:37:02.963
16401
2015-09-08T23:37:02.963
11025
14865
answer