将文件写入Blobstore

Art*_*uro 1 google-app-engine httprequest blobstore

目标:假设客户端使用Web表单向服务器(Google App Engine)提交字符串或文本文件.我希望服务器修改原始文件并将其提供给客户端.

我认为从GAE提供文件的唯一方法是使用Blobstore,对吧?然后,由于我们无法修改blob,我相信解决方案将是:

  1. 客户端使用HttpRequest上传文件
  2. 服务器读取上传的文件并将其复制到临时缓冲区(不确定是否有方法可以执行此操作)
  3. 服务器删除原始blob
  4. 服务器修改临时缓冲区中的数据
  5. 服务器将修改后的缓冲区写入Blobstore
  6. 服务器为客户端提供新的blob

这会有用吗?你能考虑其他任何解决方案吗?

谢谢

Nic*_*son 5

I think the only way to serve files from GAE is using the Blobstore, right?
Run Code Online (Sandbox Code Playgroud)

错误.'文件'只是一种在磁盘上存储数据的方式; 没有什么可以从需要数据来自实际可写磁盘文件的网络服务器提供服务.您可以通过表单上传简单地接受用户的数据,修改它并将其提供给它们,而无需触摸磁盘,blobstore或任何其他永久存储介质.

如果用户的数据太大而无法容纳在内存中,这只会成为问题,在这种情况下,您必须在处理数据时将数据存储在某处,例如在blobstore中.

  • @ user411103您根本不需要创建文件 - 只需向用户发送文本数据即可.如果您希望他们将其作为下载而不是浏览器,您需要设置"Content-Disposition"标题(Google的"内容处理附件"以获取详细信息). (4认同)