0

これは私が以下に持っているものです、私が私のフォームを提出することができる唯一の方法は画像を閲覧することです。
誰かがボタンを使って、できればjQueryを使わずにこれを送信する方法を教えてもらえますか?
画像なしでテキスト付きのフォームを送信したいだけです。ありがとう!

function browse()
{
    navigator.camera.getPicture(uploadPhoto,
        function(message) { alert('get picture failed'); },
        { 
            quality: 50,
            destinationType: navigator.camera.DestinationType.FILE_URI,
            sourceType: navigator.camera.PictureSourceType.PHOTOLIBRARY
        }
    );
}

function uploadPhoto(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 = document.getElementById('file_name').value + "";
}
4

2 に答える 2

0

通常のHTMLフォームを試してください。

<form action="/post" method="post">
  Input: <input type="text" value="input something"/>
  Submit: <input type="submit" value="Submit"/>
</form>
于 2013-01-22T05:55:34.617 に答える
0

あなたが求めているのは、ユーザーがファイルを参照する必要があるファイル入力フォーム要素を持たなくても、カメラからサーバーに画像を送信する方法だと思います。

最も簡単な答えは、画像をファイルとして保存するのではなく、base64文字列として保持することです。これを行うには、宛先タイプを次のように変更します

destinationType: Camera.DestinationType.DATA_URL

これで、success関数のパラメーターはbase64文字列になり、他の文字列と同じようにサーバーに送信できます。次に、サーバー側でbase64_decodeしてから、ディスクに書き込む必要があります。

于 2013-02-19T05:49:00.240 に答える