1

問題の解決に近づいているいくつかの投稿を見てきましたが、まだ簡単なタスクを達成できていません。これは次のとおりです。

リモート ファイル (ほとんどの場合、zip ファイル) へのリンクを含むウィンドウがあるとします。ユーザーがダウンロードしたファイルの保存先を選択できるように、ファイルにアクセスして「名前を付けて保存」ダイアログを開く関数を構築して呼び出すにはどうすればよいですか? 他のダウンロード可能なファイルに対して同じことを行うために、他のリンクから同じ関数に異なる変数を渡すことができると便利です。

はい、私は TideSDK をまったく使用したことがなく、正確には JavaScript の専門家ではありません。

4

1 に答える 1

2

これを試して。

「名前を付けて保存」のクラスを持つリンクは、「名前を付けて保存」ダイアログをトリガーします。ユーザーが場所を選択し、名前を付けて [保存] をクリックすると、ファイルが保存されます。これはjqueryを使用します。

<a href="http://wordpress.org/latest.zip" class="save-as">Download WordPress</a>    

    <script>

        $(function(){
            var currentLink;
            $('.save-as').click(function() { 
                var link = $(this).attr('href');
                var filename = link.substring(link.lastIndexOf('/')+1);
                currentLink = link;
                Ti.UI.currentWindow.openSaveAsDialog(saveComplete, {
                    title: 'Save As...',
                    multiple: false,
                    defaultName : filename
                });
                return false;
            }); // End save as.

            var saveComplete = function(results) {
                if(results.length>0) {
                    var downloadFile = results[0];
                    console.log("Download the file");
                    var httpClient = Ti.Network.createHTTPClient();
                    httpClient.open('GET', currentLink);
                    httpClient.receive(function(data) {
                      var file = Ti.Filesystem.getFile(downloadFile);
                      var fileStream = file.open(Ti.Filesystem.MODE_APPEND);
                      fileStream.write(data);
                      fileStream.close();
                    });
                }
            };

        });



    </script>
于 2013-03-14T02:46:57.130 に答える