我已经看到几个帖子即将解决我的问题,但我仍然无法完成我的简单任务,这就是:
想象一下,我有一个窗口,其中包含指向远程文件的链接(通常它将是一个zip文件)。如何构建和调用访问该文件的函数并打开“另存为”对话框,以便用户可以选择保存下载文件的位置?能够将其他链接中的不同变量传递给同一个函数以完成其他可下载文件的相同操作会很好。
是的,我是TideSDK的新手,而不是一个javascript专家,如果这会导致额头上的痛苦拍打。
答案 0 :(得分: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>