2

我正在使用https://build.phonegap.com将 HTML 应用程序转换为 .apk ,并且从我的文件选择器中一切正常。

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

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

在网络版本http://carbonyzed.co.uk/websites/assent/1/photos.html这在我的手机上效果很好,但是当转换为 .apk 时,这个功能就丢失了,我似乎找不到此处或在线与此问题相关的任何内容。

4

2 回答 2

2

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

您需要使用 Phonegap API 来获取图片并选择来源,例如照片库、相机或保存的相册。

查看有关 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

于 2012-11-29T15:30:56.283 回答
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">

然后它让我从根存储中进行选择,适用于 iOS 和 Android 操作系统的 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">

复制和过去,它是一个梦想,

在这张图片中查看

在此处输入图像描述

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

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

于 2013-04-25T18:29:50.050 回答