Icenium + Cordova (モバイル) と ASP.NET を使用して、携帯電話からリモート サーバーに画像をアップロードする方法を見つけようとしています。
リモート Web サービス アドレスを提供しながら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="*" />
cordova の config.xml 内。
注: 「Advanced Rest Client」を使用して、標準のファイル アップロード コントロールを使用して画像アップロード用の Web サービスをテストしたところ、200 OK が返されました。
それ以外は、私は立ち往生しており、イメージをリモート サーバーに正常にアップロードする方法を見つけることができます。私は他の方法を使用することにオープンですが、最高の比較可能性が必要な場合は、ネイティブの Cordova FileTransfer() を使用する方が安全な方法だと思います。