1

私はここに来たばかりで、先週問題がありました:

phonegap(cordova2.1.0) でアプリを作成しました。これがコードです。

<script type="text/javascript" charset="utf-8">

var deviceReady = false;

/**
 * Take picture with camera
 */
function takePicture() {
    navigator.camera.getPicture(
        function(uri) {
            var img = document.getElementById('camera_image');
            img.style.visibility = "visible";
            img.style.display = "block";
            img.src = uri;
            document.getElementById('camera_status').innerHTML = "Success";
        },
        function(e) {
            console.log("Error getting picture: " + e);
            document.getElementById('camera_status').innerHTML = "Error getting picture.";
        },
        { quality: 50, destinationType: navigator.camera.DestinationType.FILE_URI});
};

/**
 * Select picture from library
 */
function selectPicture() {
    navigator.camera.getPicture(
        function(uri) {
            var img = document.getElementById('camera_image');
            img.style.visibility = "visible";
            img.style.display = "block";
            img.src = uri;
            document.getElementById('camera_status').innerHTML = "Success";
        },
        function(e) {
            console.log("Error getting picture: " + e);
            document.getElementById('camera_status').innerHTML = "Error getting picture.";
        },
        { quality: 50, destinationType: navigator.camera.DestinationType.FILE_URI, sourceType: navigator.camera.PictureSourceType.PHOTOLIBRARY});
};

/**
 * Upload current picture
 */
function uploadPicture() {

    // Get URI of picture to upload
    var img = document.getElementById('camera_image');
    var imageURI = img.src;
    if (!imageURI || (img.style.display == "none")) {
        document.getElementById('camera_status').innerHTML = "Take picture or select picture from library first.";
        return;
    }

    // Verify server has been entered
    server = document.getElementById('serverUrl').value;
    if (server) {

        // Specify transfer options
        var options = new FileUploadOptions();
        options.fileKey="file";
        options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1);
        options.mimeType="image/jpeg";
        options.chunkedMode = false;

        // Transfer picture to server
        var ft = new FileTransfer();
        ft.upload(imageURI, server, function(r) {
            document.getElementById('camera_status').innerHTML = "Upload successful: "+r.bytesSent+" bytes uploaded.";              
        }, function(error) {
            document.getElementById('camera_status').innerHTML = "Upload failed: Code = "+error.code;               
        }, options);
    }
}

/**
 * View pictures uploaded to the server
 */
function viewUploadedPictures() {

    // Get server URL
    server = document.getElementById('serverUrl').value;
    if (server) {

        // Get HTML that lists all pictures on server using XHR 
        var xmlhttp = new XMLHttpRequest();

        // Callback function when XMLHttpRequest is ready
        xmlhttp.onreadystatechange=function(){
            if(xmlhttp.readyState === 4){

                // HTML is returned, which has pictures to display
                if (xmlhttp.status === 200) {
                    document.getElementById('server_images').innerHTML = xmlhttp.responseText;
                }

                // If error
                else {
                    document.getElementById('server_images').innerHTML = "Error retrieving pictures from server.";
                }
            }
        };
        xmlhttp.open("GET", server , true);
        xmlhttp.send();         
    }   
}

/**
 * Function called when page has finished loading.
 */
function init() {
    document.addEventListener("deviceready", function() {deviceReady = true;}, false);
    window.setTimeout(function() {
        if (!deviceReady) {
            alert("Error: PhoneGap did not initialize.  Demo will not run correctly.");
        }
    },2000);
}

HTML コード:

画像:

    <input type="button" onclick="takePicture();" value="Take Picture" /><br/>
    <input type="button" onclick="selectPicture();" value="Select Picture from Library" /><br/>
    <input type="button" onclick="uploadPicture();" value="Upload Picture" />
</div>
<br/>

まあ、このコードの一部は私のものではありません。

質問

エラーアラートはありません

アラートは、すべてが完了したことを示しています。アップロードされた画像とバイト

私のmsqlでは、画像には拡張子(.jpg)がなく、名前だけです

画像フォルダには何もアップロードされていません

すべてをホワイトリストに登録し、

だれか助けてくれませんか? 私は他に何をすべきかわからない..

前もって感謝します

ところで、日食ログではすべてがOKを示していますが、Android 2.3の実際の電話でも同じことが示されていますが、画像はありません..

4

0 に答える 0