我有一个用jquery mobile(前端)和laravel后端制作的移动网站(在远程服务器上)。在phonegap中我创建了一个打开浏览器并显示移动网站的应用程序。
在移动网站上,我有两个按钮:
[手机上传] [普通上传]
正常上传按钮使用laravel(或其他框架)从您的计算机中选择一张图像。 移动上传按钮需要拨打phonegap相机。因此用户可以从手机中选择图像。然后使用文件传输再次将其发送到站点。
可以从浏览器内的网站调用Phonegap功能吗? 什么是最好的方法来解决这个问题?
答案 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中运行良好。