この問題に関連する質問をする人がたくさんいますが、私の問題を解決するのに十分なほど完全なものはありません.
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の例を教えてください。
実用的な例を入手できたら、何が起こっているのかを正確に分析し、学習プロセスを開始できます。
または、誰かがアプリとサーバー側の両方のコードをチュートリアルとして使用できる実用的なアプリを提供できる場合は、関連する研究を喜んで行います。
人々がこれに与えてくれたいつでも、前もって多くの多くの感謝をします。私は機知に富んでいて、これを成し遂げることができるはずのときに、自分自身を正しい混乱に陥れています.