0

この問題に関連する質問をする人がたくさんいますが、私の問題を解決するのに十分なほど完全なものはありません.

phonegap に基づいて、完全に機能する HTML5 スマートフォン アプリを作成しました.. 震える... Blackberry は、サーバー側の php スクリプトを使用して、リモートの MYSQL サーバーにデータを適切に送信しています。

ただし、これは怪我の防止であり、危険には写真を撮る必要があるため、写真もアップロードするオプションを提供したいと思います. これは商用製品ではありません。最新のスマートフォン テクノロジの実例であり、1 つのアプリをさまざまなスマートフォンに簡単に移植する方法を示しています。Blackberry は一般的な電話であり、その代表的な例です。

愛もお金もありませんが、アプリと php サーバー側スクリプトの実際の例を一緒に見つけることはできません。

CORDOVA サンプル ファイルから抽出したサンプルは写真を撮り、アプリで生成されたサムネイルを見ることができます。そのビットはすべて (以下に示すすべてのコードに基づいて) 適切ですが、何をプログラムする必要があるかわかりません。私のupload.phpが何かをするために。私が試したことはすべて、エラーコード3と1で失敗します..

これが webapp の重要なコードです。

HTML

    <h3>navigator.camera</h3>
<input type="button" value="Get Photo (Data)" onclick="capturePhoto();return false;" /> 
<input type="button" value="Get Photo (URI)" onclick="capturePhotoURI();return false;" /> 
<img style="display:none;width:120px;height:120px;" id="cameraImage" src="" />
<p id="uploadProgress"></p>
<input style="display:none;" id="uploadButton" type="button" value="Upload" onclick="uploadImage();return false;" />     

ジャバスクリプト

        function capturePhotoURI() {
        navigator.camera.getPicture(onCapturePhotoURISuccess, fail, 
            { destinationType: Camera.DestinationType.FILE_URI, quality: 50 });
    }

        function onCapturePhotoURISuccess(imageURI) {
        if (imageURI != null) {
            var smallImage = document.getElementById('cameraImage');
            var uploadButton = document.getElementById('uploadButton');

            // Unhide image elements
            smallImage.style.display = 'block';
            uploadButton.style.display = 'block';

            // Show the captured photo
            // The inline CSS rules are used to resize the image
            smallImage.src = imageURI;
        }
    }

        function uploadImage() {
        var smallImage = document.getElementById('cameraImage');
        if (smallImage.src && smallImage.src !== "") {
            var f = new FileTransfer();
            f.upload(
                // file path
                smallImage.src,
                // server URL - update to your own, and don't forget to 
                // include your domain in an access element in config.xml      
                "http://192.168.1.91/upload.php",
                // success callback
                function(result) {
                    document.getElementById('uploadProgress').innerHTML =
                        result.bytesSent + ' bytes sent';
                    alert(result.responseCode + ": " + result.response);
                },
                // error callback
                function(error) {
                    alert('error uploading file: ' + error.code);
                },
                // options
                { fileName: 'myImage.jpg', 
                  params: { 'username':'jtyberg' } 
                });
        }
    }

上記のサーバー ID は正しいです (これは私自身の開発サーバーの適切な翻訳であるため、正確にする必要があるため、localhost を使用していません)。サーバーIPを除いて表示されるものはすべてバニラであり、箱から出して、phonegapからの変更されていない動作例です. 電話は同じ192ネットワークの1つであり、私が試したupload.phpを確実に実行しようとします

基本的に、このファイルを取得し、upload.php ファイルを使用して移動します。

http : // 192.168.1.91/injury/sample_images/xxxx.jpg (リンクを停止する方法がわからないため、http のスペースを空けてください)

権利を確認しましたが、すべて問題ありません。config.html はすべてのドメインを許可しています。

誰でも私の悲惨さを解消し、上記のアップロードコードを使用してカメラ画像で何かを行うupload.phpの例を教えてください。

実用的な例を入手できたら、何が起こっているのかを正確に分析し、学習プロセスを開始できます。

または、誰かがアプリとサーバー側の両方のコードをチュートリアルとして使用できる実用的なアプリを提供できる場合は、関連する研究を喜んで行います。

人々がこれに与えてくれたいつでも、前もって多くの多くの感謝をします。私は機知に富んでいて、これを成し遂げることができるはずのときに、自分自身を正しい混乱に陥れています.

4

1 に答える 1

0

base64 文字列の投稿方法を使用することにしました。ただし、この場合、開発サーバーの設定が原因である可能性が高いことがわかりました。

于 2012-09-26T10:35:15.253 に答える