21090


ドラッグアンドドロップされたローカルファイルを  
別のローカルフォルダにコピーするような処理を考えています。

対応ブラウザはIE11のみとします。

ドラッグアンドドロップで取得したfileオブジェクトを元に  
別のローカルフォルダにコピーすることは可能なのでしょうか？  
`<input type="file">`での取得であれば、パスが取得できるので実装は容易ですが、  
現在パスの取得方法がわからず、困っています。  
パスを使用しなくとも、何かしらの方法でファイルを目的の階層にコピー又は作成できれば問題ありません。  
使用言語はPHP,javascriptになります。PHPを利用した方法でも構いません。

申し訳ありませんが、どうかお願いします。

[code]

    <div id="drag_zone"></div>
    <script type="text/javascript">
        $(document).on('dragover', '#drag_zone', function(evt){
            evt.stopPropagation();
            evt.preventDefault();
            evt.originalEvent.dataTransfer.dropEffect = 'copy';
        });
        $(document).on('drop', '#drag_zone', function(evt){
            // 移動先ファイルパス宣言
            var path = 'C://hoge/';
            // fileオブジェクト読込
            var files = evt.target.files;
            for(var i = 0; i < files.lenght;i++){
                // ここでパスを取得してファイルをコピーするか、
                // バイナリデータか何かしらを使用してフォルダに新しいファイルを
                // 新規作成したい。
            }
        });
    </script>
    
[/code]


CC BY-SA 3.0
2016-01-19T06:34:30.213
21057
2016-01-20T01:58:19.770
13114
question
javascript php jquery
javascriptでのファイル作成


この記事が参考になると思います。  
[JavaScriptでファイル操作！？ File APIを使いこなそう
](http://www.atmarkit.co.jp/ait/articles/1112/16/news135.html)


CC BY-SA 3.0
2016-01-19T14:21:20.433
21090
2016-01-19T14:21:20.433
9515
21057
answer


クライアント側のファイルシステムに(ブラウザ上で動作する)Javascriptからアクセスすることは基本的に不可能です。  
例外的にFilesystemAPIというものがありますが、これは一部のブラウザでしか利用できません。

もしなんらかのデータをファイルとして保存させたい、というのならばブラウザのダウンロード機能を利用することになります。  
IEであればnavigator.msSaveOrOpenBlobなどを利用することになるでしょうか。  
むろんこの場合の挙動はブラウザのダウンロード機能の設定次第となり、デフォルトではユーザーの「ダウンロード」ディレクトリに保存されるでしょう。


CC BY-SA 3.0
2016-01-20T01:58:19.770
21099
2016-01-20T01:58:19.770
14064
21057
answer