Я написал простое приложение Cordova, используя Visual Studio 2015 RC. Приложение просто делает снимок и загружает его. Очень простой, и примеры кода для этого есть везде в Интернете.
У меня есть:
- настройте пустое приложение Apache Cordova.
- добавлены плагины для камеры
- добавлен плагин для файла
- добавлен плагин для передачи файлов
Я добавил код, чтобы сделать фотографию, а затем загрузить ее на сайт WebAPI.
Для загрузки я добавил следующий пример кода с сайта документации Cordova API:
$scope.upload = function(imageURI) {
var options = new FileUploadOptions();
options.fileKey="file";
options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1);
options.mimeType="image/jpeg";
var params = {};
params.value1 = "test";
params.value2 = "param";
options.params = params;
var ft = new FileTransfer();
ft.upload(imageURI, encodeURI("http://some.server.com/upload.php"), win, fail, options);
}
function win(r) {
console.log("Code = " + r.responseCode);
console.log("Response = " + r.response);
console.log("Sent = " + r.bytesSent);
}
function fail(error) {
alert("An error has occurred: Code = " + error.code);
console.log("upload error source " + error.source);
console.log("upload error target " + error.target);
}
Я указал URL-адрес для передачи на реальный URL-адрес, который работает. В мой html добавлен ng-click="upload()".
Когда я запускаю это через любой эмулятор Android, все в порядке, пока он не отправит файл, ничего не происходит.
Я использовал fiddler для просмотра любых запросов, и когда я пытаюсь загрузить, нет никакой активности.
Я проверил, что эмулятор имеет сетевое подключение, открыв браузер эмуляторов и просматривая Интернет, все в порядке.
Любые идеи, почему, когда происходит ft.upload, он вообще не загружается ??