2012-07-01 1 views
2

Я только что обновился с Кордовы (PhoneGap) с 1,5 до 1,9 сегодня, и внезапно мои параметры FileTransfer прекратили публикацию. Я могу сказать, потому что у меня есть серверная часть, отлаживающая параметры $ _POST, и теперь они пусты. Вот код, который выполняется:PhoneGap FileTransfer.upload params больше не размещает

var options = new FileUploadOptions(); 
    options.fileKey="file"; 
    options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1); 
    options.mimeType="image/jpeg"; 
    options.chunkedMode=false; 

    var params = new Object(); 
    params.client_token = "This will not make it across, sadly..."; 

    options.params = params; 

    var ft = new FileTransfer(); 
    rs = ft.upload(imageURI, "http://www.mysite.com/api/uploadimage", 
     function() { alert('Yay!'); }, 
     function() { alert('Fail happens..'); }, options, true); 

Это случилось с кем-то еще? Может быть, есть новая настройка, которая должна быть установлена?

UPDATE:

Просто, чтобы убедиться, что он не CodeIgniter вызывает на стороне сервера вопросов, теперь у меня есть выше код проводки для echo.php, который просто делает «печать var_dump ($ _ REQUEST);» , Все еще никаких результатов. Я смог обмануть и выбросить токен клиента по URL как параметр $ _GET, но стыдно взломать серверную сторону, потому что клиентская сторона изменилась.

+1

приведенный выше код отлично подходит для меня в кордове 1.9 и nodejs-сервере, где 'client_token' является частью данных формы в запросе POST. – dhaval

+0

Это странно. Спасибо за проверку. Поскольку я использую только код в одном месте, я переключил его на GET. Наверное, я подключу http://www.charlesproxy.com/ к своему телефону и отлаживаю то, что на самом деле передается. – Anthony

+0

Этот код тоже работает для меня;) –

ответ

4

У меня была такая же проблема с iOS Cordova 1.9. Я нашел и исправил ошибку в коде фреймворка, вы можете загрузить мою вилку Кордовы и использовать недавно исправленную /dist/Cordova-1.9.0.dmg из нее: https://github.com/eschultz/incubator-cordova-ios/

С быстрым взглядом на Android Cordova 1.9 код выглядел отлично. Я отправил свои изменения в Apache, чтобы включить исправление в следующую версию.

Надеюсь, это поможет.

+0

Удивительный, спасибо Эрик! Я ценю, что вы подтверждаете, что, по крайней мере, я не сумасшедший. :) Я уже взломал свой API для использования параметра GET, но я буду следить за исправлением в следующей Кордове. Ты жжешь! – Anthony

+0

@ У Энтони у меня была такая же модернизация вопроса. Хороший улов, Эрик. Вот JIRA, которую я открыл на нем на днях: https://issues.apache.org/jira/browse/CB-1015 – mckamey

+0

Я вижу подобное неправильное поведение с Cordova 2.0. Не уверен, что это новая ошибка или одна и та же одна всплывающая подсказка, но FileTransfer при некоторых обстоятельствах, кажется, сломан (отправка отрицательных размеров файлов и т. Д.). –