拍照并上传到手机上的谷歌云服务

时间:2013-09-09 13:35:32

标签: javascript html google-app-engine image-uploading google-cloud-storage

我正在开展一个项目,我需要将图片上传到Google云服务..

问题是您在网络浏览器中将图片上传到Google云端服务的步骤是什么?我希望将其直接上传到客户端的Google云端服务,而不是上传到我的网络服务器然后上传去谷歌。这似乎需要太多步骤。

一个小背景是,这将在移动网络浏览器中进行..

步骤:
- 用户将在点击启动相机的按钮后拍照 - 他们将点击保存,图像将直接上传到谷歌云服务,这将返回该图像的给定ID,以存储在表格中

我已阅读谷歌云服务文档,但主要是我发现的信息直接与android / ios存储相关。我知道您无法使用ajax上传图片,但您可以在iframe中执行此操作。是否有可能获取图像二进制数据并将其转换为base64,然后将该字符串上传到Google云服务以存储数据?

TLDR:
- 将图像上传到Google云端服务的步骤是什么?

1 个答案:

答案 0 :(得分:0)

在Google App引擎中,可以通过转换为base64来上传图片,但您需要将其从base64再次转换为二进制blob类型以存储它。

只需在客户端使用<input file="" name="fileupload"/>的单个html表单,就可以将图像直接上传到Google应用引擎。端点将是google appengine上的servlet地址,用于处理此表单请求。

在服务器端玩具只需要获取提交表单的参数。将名为fileupload的参数分配到blob类型中,然后使用entityresource保存。

更新:可以通过ajax提交from而无需重新加载但是简单的jquery / javascript不支持form提交,因此提交了input文件类型标记, jquery plugin曾经这样做过:

例如:

$(function() { 
    $('#submitForm').ajaxForm(function(result) {
                    // Do some DOM operation like hiding loader
                }).submit();
         });