Сегодня я хочу рассказать вам как скачать с сервера нужные нам файлы. Допустим у вас есть какой то ftp сервер, на котором лежат файлы нужные вам, ну или вы пишите приложение которое позволяет скачивать и загружать файлы на сервер, в общем вам нужно скачать данные с него и вы зададитесь вопросом как такое сделать с помощью js? Я думаю большинство задастся вопросом зачем вообще такое делать на js когда полно либ для java, я отвечу: на phonegap + js вы можете написать программу под все мобильные платформы какие есть, достаточно только написать код и перекомпилить его под остальные платформы, не важно под какой вы его отлаживали… В общем я об этом писал в статье по настройки phonegap и eclipse, там все хорошо описано, прошу жаловать (:.
В Cordova API в разделе FileTransfer в подразделе download, хорошо описано как скачивать я хочу вам всего лишь прокомментировать как это сделать, скопировав оттуда код и вставив к себе в проект у меня не получилось ничего, может руки кривые, может код не рабочий я не знаю, так что я полазил по интернету и собрал свое детище.
Для того что бы скачать файл вам нужно указать путь откуда качать и куда, примерно так:
Полный код который скачивает файл с сервера:
Надеюсь из комментариев понятно что где делается. Ничего вроде бы сложного нет, код простой и понятный. Если хотите сделать более красивую загрузку файла с сервера можно создать кнопку и приделать к ней событие скачивания, но это мелочи. Спасибо за внимание.
В Cordova API в разделе FileTransfer в подразделе download, хорошо описано как скачивать я хочу вам всего лишь прокомментировать как это сделать, скопировав оттуда код и вставив к себе в проект у меня не получилось ничего, может руки кривые, может код не рабочий я не знаю, так что я полазил по интернету и собрал свое детище.
Для того что бы скачать файл вам нужно указать путь откуда качать и куда, примерно так:
var localPath = fileEntry.fullPath;
if (device.platform === "Android" &&
localPath.indexOf("file://") === 0) {
localPath = localPath.substring(7);
}
Полный код который скачивает файл с сервера:
<!DOCTYPE html>
<html>
<head>
<title></title>
<script type="text/javascript" charset="utf-8" src="js/cordova-1.6.1.js"></script>
<script type="text/javascript">
function DownloadFile(){
var fileTransfer = new FileTransfer();
var url ="http://full path/com.txt";//путь к файлу который хотим скачать
var folderpath = persistent_root.fullPath + ""; путь куда скачать, директория (если оставить "" то скачается в корень телефона)
var onSuccess = function(entry){
console.log("download complete: " + entry.fullPath);
};
var onError=function(error) {
console.log("download error source " + error.source);
console.log("download error target " + error.target);
console.log("upload error code " + error.code);
};
fileTransfer.download(url,folderpath,onSuccess,onError); //скачиваем
}
</script>
</head>
<body>
<h1>File Download</h1>
</body>
</html>
Надеюсь из комментариев понятно что где делается. Ничего вроде бы сложного нет, код простой и понятный. Если хотите сделать более красивую загрузку файла с сервера можно создать кнопку и приделать к ней событие скачивания, но это мелочи. Спасибо за внимание.
Куда вставлять путь к файлу?
ОтветитьУдалитьvar url ="http://полныый путь к файлу.ехе";//путь к файлу который хотим скачать
Удалить"Полный путь к файлу" и "путь к файлу, который хотим скачать" это одно и тоже?
УдалитьИ почему файл должен быть .exe?
там же все прокомментировано.
Удалитьvar url ="Путь откуда качать;//путь к файлу который хотим скачать
var folderpath = "Путь к папке куда скачать"; путь куда скачать, директория (если оставить "" то скачается в корень телефона)
Файл не должен быть экзе, то я для примера написал
Когда я запускаю приложение, у меня там только строчка File Download, загрузки файла не происходит. Как сделать, чтобы файл загружался?
Удалитьзабыл дописать вот такое
Удалитьdocument.addEventListener("deviceready", onDeviceReady, false);
//та же проверка
function onDeviceReady() {
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, DownloadFile, function() {});
}