Написах просто приложение за 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 адрес, който работи. Добавих ng-click="upload()" към моя html.
Когато пусна това през който и да е емулатор на Android, всичко е наред, докато не изпрати файла, нищо не се случва.
Използвах fiddler, за да видя всички заявки и изобщо няма активност, когато се опитвам да кача.
Проверих, че емулаторът има мрежова връзка, като отворих браузъра на емулаторите и навигирах в интернет, това е добре.
Някакви идеи защо, когато се появи ft.upload, той изобщо не се качва??