PhoneGap转换 - HTML到.apk

时间:2012-11-29 03:41:57

标签: android cordova camera

我正在使用https://build.phonegap.com将HTML应用转换为.apk,并且我的文件选择器中的所有内容都非常适用。

<input name="file" type="file" id="file">

我希望能够从相机和文件系统中选择图像(无论是否可以选择更多 - 但它是我正在寻找的图像)。

在网络版http://carbonyzed.co.uk/websites/assent/1/photos.html中,这可以很好地通过我的手机,但转换为.apk后,此功能将丢失,我似乎无法在此处找到任何内容,也无法在线查找此问题。

2 个答案:

答案 0 :(得分:2)

至少对我来说,输入文件在Phonegap中不起作用。

您需要使用Phonegap API来获取图片并选择来源的来源,例如photolibrary,camera或savedphotoalbum。

查看有关camera.getPicture的更多信息:http://docs.phonegap.com/en/2.1.0/cordova_camera_camera.md.html#camera.getPicture 以及关于cameraOptions方法的Camera.PictureSourceType参数:http://docs.phonegap.com/en/2.1.0/cordova_camera_camera.md.html#cameraOptions

答案 1 :(得分:0)

使用像这样的儿童浏览器系统

结束

头脑中

<script src="childbrowser.js"></script>
身体

<button class="button-big"     onClick="window.plugins.childBrowser.showWebPage('URL_TO_GO_HERE',
                                    { showAddress: false });" style="width: 100%;">UPLOAD     PHOTOS</button>

有一个标准的文件上传器,如

<input name="file" type="file" id="file">

然后它让我从root存储中选择,在iOS和Android OS上的phonegap 2.2以上工作

要拍摄我在头部使用过的图像

<script type="text/javascript" charset="utf-8" src="json2.js"></script>
<script type="text/javascript" charset="utf-8">

// Called when capture operation is finished
//
function captureSuccess(mediaFiles) {
    var i, len;
    for (i = 0, len = mediaFiles.length; i < len; i += 1) {
        uploadFile(mediaFiles[i]);
    }       
}

// Called if something bad happens.
// 
function captureError(error) {
    var msg = 'An error occurred during capture: ' + error.code;
    navigator.notification.alert(msg, null, 'Uh oh!');
}

// A button will call this function
//
function captureImage() {
    // Launch device camera application, 
    // allowing user to capture up to 2 images
    navigator.device.capture.captureImage(captureSuccess, captureError, {limit: 2});
}

// Upload files to server
function uploadFile(mediaFile) {
    var ft = new FileTransfer(),
        path = mediaFile.fullPath,
        name = mediaFile.name;

    ft.upload(path,
        "http://my.domain.com/upload.php",
        function(result) {
            console.log('Upload success: ' + result.responseCode);
            console.log(result.bytesSent + ' bytes sent');
        },
        function(error) {
            console.log('Error uploading file ' + path + ': ' + error.code);
        },
        { fileName: name });   
}

</script>

这是在身体

<input type="button" class="button-big" style="width: 100%;" onclick="captureImage();" value="TAKE PHOTO">

复制并过去,这是一个梦想,

在此图片中查看

enter image description here

任何问题,只需发送电子邮件评论,

或发邮件给我...... support@carbonyzed.co.uk