Я пытаюсь найти способ загрузить изображение с мобильного телефона на удаленный сервер, используя Icenium + Cordova (мобильный) и ASP.NET.
Я пытался использовать команду FileTransfer() при предоставлении адрес удаленного веб-сервиса, но безуспешно. Я использую симулятор Icenium и Visual Studio для локального тестирования кода.
Что мне нужно, так это пример кода для мобильной (Javascript) и серверной (.NET) стороны для поддержки этой связи загрузки изображений. Спасибо.
Код, который я сейчас использую:
function uploadPhoto(imageURI) {
var options = new FileUploadOptions();
options.fileKey="image_file"; // recFile
var imagefilename = Number(new Date())+".png";
options.fileName=imagefilename;
options.mimeType= "text/plain";
options.chunkedMode = false;
params = {
val1: "some value",
val2: "some other value"
};
options.params = params;
var ft = new FileTransfer();
ft.upload(imageURI,"http://127.0.0.1:1691/ImageWebService.asmx/SaveImage", success, fail, options);
}
На стороне сервера:
[WebMethod]
[ScriptMethod]
public string SaveImage()
{
try
{
HttpPostedFile file = HttpContext.Current.Request.Files[0];
if (file == null)
return "0";
HttpPostedFile file =
HttpContext.Current.Request.Files[0];
string targetFilePath = "c:\\" + file.FileName;
file.SaveAs(targetFilePath);
}
catch (Exception ex)
{
}
return "1";
}
У меня тоже есть:
<access origin="*" />
В config.xml для кордовы.
Примечание. Я протестировал веб-сервис для загрузки изображений, используя стандартный элемент управления загрузкой файлов с помощью «Advanced Rest Client», и он вернул 200 OK.
Кроме этого, я застрял и могу найти способ успешно загрузить изображение на удаленный сервер. Я открыт для использования другого метода, но я думаю, что использование собственного Cordova FileTransfer() является более безопасным способом сделать это, если я хочу лучшей сопоставимости.