0

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() を使用する方が安全な方法だと思います。

4

2 に答える 2

1

コルドバ バージョン 3 でコンパイルしようとしていると思います。私が理解していることから、コルドバ 3 では、デバイス レベルの API のほとんどが外部プラグインに移動されています 。http://cordova.apacheの「機能へのアクセス」を参照してください。 .org/docs/en/3.0.0/cordova_file_file.md.html#ファイル

そのため、Icenium では機能しなくなりました。プロジェクトのプロパティに入り、 cordova 2.7.0を設定しようとすると、すべてが機能します。

次の行をメインの JavaScript の deviceready イベントに必ず追加してください。

alert("deviceReady!");
alert(device.platform);

両方の警告メッセージが表示された場合、アプリは正常に機能しており、ファイル転送も機能しています。

ただし、引き続き cordova-3 を使用して、Icenium に File-Transfer GitHub プロジェクトをインポートすると、正しく動作します。それは本当にミステリーで、彼らが何をしているのかを説明できるのは Telerik だけです!

チャオ・マルコ

于 2013-10-13T11:49:21.980 に答える