Ссылки на скачивание с TideSDK
Я видел несколько сообщений, приближающихся к решению моей проблемы, но я все еще не в состоянии выполнить свою простую задачу, а именно:
Представьте, что у меня есть окно, которое содержит ссылку на удаленный файл (чаще всего это будет zip-файл). Как я могу структурировать и вызвать функцию, которая обращается к файлу и открывает диалог "Сохранить как", чтобы пользователь мог выбрать, куда сохранить загруженный файл? Было бы неплохо иметь возможность передавать различные переменные из других ссылок в одну и ту же функцию, чтобы выполнить то же самое для других загружаемых файлов.
И да, я совершенно новичок в TideSDK и не совсем эксперт по javascript, если это вызывает очень болезненные шлепки по лбу.
1 ответ
Попробуй это.
Любая ссылка с классом "сохранить как" вызовет диалог "Сохранить как". Файл будет сохранен ПОСЛЕ того, как пользователь выбирает местоположение, дает ему имя и нажимает кнопку Сохранить. Это действительно использует 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>