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 回答