从浏览器中打开phonegap相机

时间:2014-02-03 21:31:09

标签: browser cordova

我有一个用jquery mobile(前端)和laravel后端制作的移动网站(在远程服务器上)。在phonegap中我创建了一个打开浏览器并显示移动网站的应用程序。

在移动网站上,我有两个按钮:

[手机上传] [普通上传]

正常上传按钮使用laravel(或其他框架)从您的计算机中选择一张图像。 移动上传按钮需要拨打phonegap相机。因此用户可以从手机中选择图像。然后使用文件传输再次将其发送到站点。

可以从浏览器内的网站调用Phonegap功能吗? 什么是最好的方法来解决这个问题?

1 个答案:

答案 0 :(得分:0)

要在手机上访问相机胶卷,您只需创建一个普通的文件输入。

<input type="file" id="fileProfileImage" accept="image/*" capture />

在iPhone上,您可以使用image / *仅选择图像。

在你的JS代码中,我建议你使用这个插件:https://github.com/blueimp/jQuery-File-Upload 它可以跨域上传文件。我对laravel一无所知,但你必须创建一个支持CORS的web服务来处理你的上传请求。我已经在.net中完成了它,并且很难正常工作。

以下是我用来上传phonegap文件的JS代码(我链接的插件):

$('#fileProfileImage').fileupload(
        {
            url: "WEBSERVICE URL",
            dataType: 'json',
            //forceIframeTransport: true,
            formData: { someProp: "someVal" },
            start: function (e, data)
            {

            },
            done: function (e, data)
            {

            },
            progressall: function (e, data)
            {
                var progress = parseInt(data.loaded / data.total * 100, 10);
                $("#alert p span").text(progress); //this shows the progress in %
            },
            fail: function (e, data)
            {

            }
        });

代码不是特定于手机屏幕的。它可以在每个浏览器中实现,并且在phonegap中运行良好。