我已经看到几篇接近解决我的问题的帖子,但我仍然无法完成我的简单任务,即:
想象一下,我有一个窗口,其中包含一个远程文件的链接(通常是一个 zip 文件)。如何构建和调用访问文件并打开“另存为”对话框的函数,以便用户可以选择保存下载文件的位置?如果能够将其他链接中的不同变量传递给同一个函数,从而为其他可下载文件完成同样的事情,那就太好了。
是的,我对 TideSDK 完全陌生,而不是完全是 javascript 专家,如果这会导致前额的痛苦拍打。
尝试这个。
任何带有“另存为”类的链接都会触发“另存为”对话框。该文件将在用户选择位置、命名并单击“保存”后保存。这确实使用 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>