首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过python、google应用引擎、angularjs等网页将图像上传到google云存储。

通过python、google应用引擎、angularjs等网页将图像上传到google云存储。
EN

Stack Overflow用户
提问于 2015-07-30 21:28:24
回答 2查看 1.6K关注 0票数 1

首先让我说

我想我读过每一篇似乎与这个主题相关的堆栈交换帖子。

我想做的是:

  1. 我试图允许某些用户通过我网站上的表单向google云存储发送图像。
  2. 向云存储发送该映像的另一个要求是,我需要在数据存储中创建该映像的模型,并包含它的相关属性。

我不知道做这件事最好的方法是..。

我读过的方法:

有许多方法可以将图像传送到云存储:

我读过很多相互矛盾的信息,

我读了那么多书我都看不清楚了,

然而,

我想决议是:

用于blobstore商店

  1. blobstore.uploadtocloudstoragethingmethod可能有或可能没有文件上传限制大小(不,这不是实际的调用或方法名称) 2。blobstore方法听起来像是要被淘汰?

For Jason

然而,客户端库包括App优化,因此使用REST 可能需要额外的开发时间。注意: App开发服务器支持云存储客户端。不支持REST

用于客户端库

我不知道。到目前为止看起来还不错。下面是我正在考虑使用的方法:

“read_buffer_size=storage_api.ReadBuffer.DEFAULT_BUFFER_SIZE,cloudstorage.open(文件名,mode='r',content_type=None,options=None,retry_params=None) 在读取模式(r)中,打开指定的云存储对象进行读取。在写入模式w中,如果存在指定的文件,则打开它以进行覆盖(不支持追加)。如果文件不存在,则在指定的桶中创建该文件。“

我正在用的东西

  1. Google App Engine
  2. Python (用于处理程序、模型等)
  3. angularjs和jquery (前端)
  4. json有时(后端)
  5. 盖伊样板(别问)

我想我要做的是:

  1. 获取用户的图像:

所以,我找到了我测试过的表格。它确实从您的计算机中获取了一个文件:

代码语言:javascript
复制
<form action="<?php echo $upload_url?>" enctype="multipart/form-data"
method="post">
Files to upload: <br>    <input type="file" name="uploaded_files"    size="40">    <input type="submit" value="Send">

(不,我不能在操作中使用php垃圾。我把它从文档中的某个地方取下来,但是我测试了它,它确实抓取了一个文件,不它不会发送,期望它发送是愚蠢的)

  1. 修改我的当前处理程序(该处理程序负责在数据存储中创建映像模型),以便也使用

这种方法:

“read_buffer_size=storage_api.ReadBuffer.DEFAULT_BUFFER_SIZE,cloudstorage.open(文件名,mode='r',content_type=None,options=None,retry_params=None) 在读取模式(r)中,打开指定的云存储对象进行读取。在写入模式w中,如果存在指定的文件,则打开它以进行覆盖(不支持追加)。如果文件不存在,则在指定的桶中创建该文件。“

我的问题到目前为止

我不知道该表单是如何工作的,我也不知道如何从表单中获取正确的信息给处理程序,以及处理程序需要什么信息,这样我就可以处理它,创建模型(我已经知道如何在数据存储中创建模型了,已经这样做了),也不知道如何用这种方法将图像发送到google云存储:

“read_buffer_size=storage_api.ReadBuffer.DEFAULT_BUFFER_SIZE,cloudstorage.open(文件名,mode='r',content_type=None,options=None,retry_params=None) 在读取模式(r)中,打开指定的云存储对象进行读取。在写入模式w中,如果存在指定的文件,则打开它以进行覆盖(不支持追加)。如果文件不存在,则在指定的桶中创建该文件。“

有人能给我举个例子吗?我找不到任何好的相关文章或文档,在表单中放什么,这样它就会抓取文件,抓取用户填写的其他表单数据,然后将图像发送到google云存储。

-最新情况

因此,在发布这篇文章之后,我搜索了gcs.open,这导致了以下文章:

how to upload image to the cloud storage via app engine?

我相信这在后端可以做到,我还有一个问题要问。

回答这个问题:

问题:

  1. 我不知道图像的名称是什么,我想使用现有的,或者可能是随机的。有什么建议吗?
  2. 我该把它放在哪里:enctype=“多部分/表单-数据”?
  3. 会否处理我的其他表格资料?我需要更多的信息,而不仅仅是这张照片。
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-31 00:26:13

回答您的问题:

  1. 我不知道图像的名称是什么,我想使用现有的,或者可能是随机的。有什么建议吗?

我不认为这真的很重要,只要考虑一下可能发生的名字冲突以及接下来会发生什么。我认为这在很大程度上取决于应用程序的需要。您可以始终使用随机文件名,并将实际文件名保留在对Cloud项的引用旁边的数据存储区中。

  1. 我该把它放在哪里:enctype=“多部分/表单-数据”?

Enctype是一个表单属性,因此需要在HTML中的form元素上设置:

代码语言:javascript
复制
<form enctype="multipart/form-data" action="/save" ... >
  1. 会否处理我的其他表格资料?我需要更多的信息,而不仅仅是这张照片。

不不应该。只需添加更多的表单输入字段,它们都将与表单数据一起提交。

票数 1
EN

Stack Overflow用户

发布于 2015-07-31 11:28:29

您还可以使用签名的表单直接上传到GCS。这样,您就不需要blobstore或post处理程序了。并且可以使用策略文档控制超时和对象名称。见我的here

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31734381

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档