0

restwebservice を介して base64 イメージをサーバーに送信しようとしています。問題は、logcat でエラーが発生せず、サーバーにヒットしていないことです。サーバーの URL は正しいです。そして、webappを使用してサービスをテストし、正常に動作しました。しかし、phonegapではその問題

function Test() { アラート(imgByte);

/**imgByte is in base64 format -->pic.src = "data:image/png;base64," + imageURI;
imgByte = pic.src;*/

    $.ajax({
        type : "POST",
        url : IMGURL,
        data : {
            image : imgByte
        },
        delay : 3,
        dataType : "text",
        cache : false,
        error : function(xhr, ajaxOptions, thrownError) {
            debugger;
        },

        success : function(response, status, xhr) {
            alert("haiSuccess1");
            response = xhr.responseText;
            var responseArray = JSON.parse(response);
            if (responseArray.status == "success") {

                alert("haiSuccess");

            }

        }
    });
}
4

2 に答える 2

1

Phonegap を使用しているため、クロス ドメイン コールは問題になりません。

  1. あなたの写真はうまく撮れましたか?
  2. サーバー側でデータを受信して​​いることを確認してください。
  3. ポイントに問題がある場合 1.サーバーにRESTリクエストを送信できるかどうかを確認します
  4. モバイルアプリからインターネットにアクセスするための十分な権限があることを確認してください

これは、私の例の 1 つで使用した作業コードです。

Javascript :

navigator.camera.getPicture(success, fail, {quality: 45, sourceType: src});

function success(imageData) {
    var url = some_location;
    var params = {image: imageData};

    // send the data
    $.post(url, params, function(data) {
        alert('sent');
        // Display the selected image on send complete
        $('#image').attr('src', 'data:image/jpeg;base64,' + params['image']);     
    });
}

function fail(error) { 
    alert(error); 
}

PHP:

<?php 
    if ($_REQUEST['image']) {
        // convert the image data from base64
        $imgData = base64_decode($_REQUEST['image']);

        // rest of the code
    }
?>

しかし、私の推測では、エラー 414 (Request-URI Too Large) が表示されていると思います。大きな画像に送信しようとしています。この画質の低下を最低点に固定して送信してみます。それが正しく機能する場合、これはあなたの問題です。

于 2013-04-17T09:52:49.600 に答える
0

Phonegap の問題ではありません。デフォルトでは、Webサーバー(サーバー上で実行されるサーバー側のコード)では、受信データのサイズ(ファイルサイズではありません)が固定サイズに制限されています。これを機能させるには、増やす必要があります。

于 2015-03-24T14:00:47.607 に答える