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)只有名称

在图像文件夹中没有上传任何内容

我把所有东西都列入白名单,

有人可以帮助我吗?我不知道还能做什么。。

提前致谢

顺便说一句,在 Eclipse 日志中,一切都显示正常,在 android 2.3 实际手机中也是一样,但图像不存在..

4

0 回答 0