Phonegap: Получите файл с SD-карты и загрузите его на FTP-сервер в Android.

Я новичок в разработке phonegap. В моем приложении есть одна кнопка, и при нажатии на эту кнопку откроется структура каталогов sdcard, и, выбрав файл, выбранный файл будет загружен в FTP-сервер.

Я попробовал эту ссылку, ftpclient , но в ней не указано, как открыть структуру каталогов и выбрать файл, и он не будет работать вообще.

Может ли кто-нибудь дать мне правильные шаги или решение выше. Заранее спасибо.


person Born To Win    schedule 20.03.2014    source источник
comment
Какой тип файла вы хотите загрузить?   -  person    schedule 20.03.2014
comment
любой файл .txt, .pdf и т. д. Спасибо.   -  person Born To Win    schedule 20.03.2014
comment
У вас есть идея реализовать плагины?   -  person    schedule 20.03.2014
comment
Не первый раз я разрабатываю это приложение для телефонной связи. Я просто выполняю все шаги, указанные в ссылке ... но это не работает ... :(   -  person Born To Win    schedule 20.03.2014
comment
Хорошо, я даю вам ссылку на плагин, реализующий его. и вы можете спросить, если у вас есть какие-либо трудности.   -  person    schedule 20.03.2014


Ответы (1)


Вот плагин для FileChooser, который даст вам возможность выбрать файл с SDCard. cordova-filechooser. и, пожалуйста, измените файл filechooser.js следующим образом

(function( cordova ) {

function FileChooser() {}

    FileChooser.prototype.open = function(win, fail) {
        return cordova.exec(
            function (args) { if(win !== undefined) { win(args); } },
            function (args) { if(fail !== undefined) { fail(args); } },
            "FileChooser", "open", []);
    };

    if(!window.plugins) {
        window.plugins = {};
    }

    if (!window.plugins.FileChooser) {
        window.plugins.FileChooser = new FileChooser();
    }

})( window.cordova );

Добавьте этот файл js в папку js. И использовать так

plugins.FileChooser.open(function (uri) {
                // success
            alert(uri); 

            },function () {
               // fail
                alert('failed');
            }); 
person Community    schedule 20.03.2014
comment
Добавьте плагин в свой файл config.xml. Если у вас есть сомнения. Вы можете спросить здесь. - person ; 20.03.2014
comment
извините, что это не сработает. Я просто добавляю приведенный выше код в filechooser.js и в свой файл index.js при нажатии кнопки, я добавляю этот второй.. также я импортирую filechooser.js в index.html.. плагины также добавлено вот так.. ‹plugin name=FileChooser value=com.example.eos.FileChooser/› - person Born To Win; 20.03.2014
comment
В config.xml добавить <feature name="FileChooser"> <param name="android-package" value="com.example.eos.FileChooser" /> </feature> - person ; 20.03.2014
comment
И при нажатии кнопки вызовите последний фрагмент кода, который я предоставил. который plugins.FileChooser.open - person ; 20.03.2014
comment
Нет, чувак, это не сработает. Я просто добавляю эти плагины, а также добавляю plugins.Fliechoser.open при нажатии кнопки, но не выполняю никаких действий. - person Born To Win; 20.03.2014
comment
И да, пожалуйста, вызовите вышеуказанное в методе deviceready. И посмотрите, добавили ли вы файл cordova.js в ваш index.html. - person ; 20.03.2014
comment
какую часть я хочу добавить в метод готовности устройства и где вы можете мне сказать ??? - person Born To Win; 20.03.2014
comment
$(document).on('click', '#Login_button', function () { // alert(1); plugins.FileChooser.open(function (uri) { // успешное оповещение(uri); }, function ( ) { // предупреждение об ошибке('failed'); }); }); - person Born To Win; 20.03.2014
comment
Вы добавили cordova.js? поместите свои строки в метод onDeviceReady. - person ; 20.03.2014
comment
Да, я добавил cordova.js... и если вы выдаете предупреждение при нажатии кнопки, то отображается предупреждение, я думаю, что проблема в другом. - person Born To Win; 20.03.2014
comment
давайте продолжим это обсуждение в чате - person Born To Win; 20.03.2014