问题标签 [blobstore]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1073 浏览

google-app-engine - 使用通过 Django-nonrel 和文件传输应用程序上传到 blobstore 的图像

我正在使用 django-nonrel 在 Google App Engine 中构建一个博客站点,我需要一种在博客文章等中存储和显示图像的方法。

这个想法是有一个上传应用程序来上传特定文章等的图像,然后为 imd src 使用绝对或相对 URL。

我正在使用 django-filetransfers 上传图片(http://www.allbuttonspressed.com/projects/django-filetransfers)。

问题是: 1) 是否有人使用 Google App Engine 和 django-nonrel 来托管他们的博客?如果是这样,您如何以及在哪里存储图像?使用 GAE Blobstore 是不是有点矫枉过正?2) 对于图像 URL,我使用在 fly-transfers 应用程序中设置的下载路径。例如。 这个对吗?不使用 .png 扩展名或任何东西来引用似乎有点奇怪。但这可能是从 blobstore 引用图像的方式吗?

仍在使用 Django 和 Google App Engine 学习绳索,因此非常感谢任何帮助。

谢谢

0 投票
1 回答
382 浏览

python - 将文件直接写入 blobstore 时 App Engine 出现不稳定问题

我正在将 App Engine 与 Python 一起使用。为了存储我的用户的图像,我按照Google 文档中的说明将它们直接写入 blobstore 。

我的代码如下:

问题是不稳定的。我没有改变任何东西,从昨天开始有时它会起作用,有时它不起作用。为什么?当我打印 blobkey(我的代码的最后一行)时,我可以看到图像是否已保存到 blobstore 中。

当它工作时,我会显示以下行:

当它不起作用时,我的日志中有这个:

最后一个细节:图像(self.imageContent)在每次写入之前都经过预处理并转换为.JPEG。

编辑:
每次,图像都存储在 blobstore 中(我可以在管理控制台的 blobviewer 中看到它们)。这就是发生故障的 get_blob_key 函数......

我想知道在这种情况下我该怎么办?我是否做错了什么导致 App Engine 行为不稳定。我该如何解决这个问题?

0 投票
1 回答
988 浏览

vb.net - 从远程系统连接到 sql server 2008 r2 FILESTREAM

我正在使用以下技术为我的客户开发在线文档管理应用程序

  1. 前端 - VB.Net 2010(Windows 窗体)
  2. 后端 - SQL Server 2008 R2 Express(FILESTREAM 启用到级别 3)

我想使用 SQL Server 2008 R2 中的 FILESTREAM 功能存储文件(*.pdf、*.doc、*.exe、.)

我更喜欢 FILESTREAM,因为有时文件大小超过 2GB。

我可以使用 FILESTREAM 保存和检索文件(使用 Windows 身份验证/集成安全性)。

但我的客户想从不同的 PC 保存或检索文件。

所以我需要从远程系统访问 FILESTREAM BLOB。

请帮助我实现我的要求。

提前感谢您的宝贵建议。

0 投票
2 回答
1584 浏览

javascript - 通过 JavaScript 将画布图像从 Safari (5.0.x) 保存到 AppEngine Blobstore

由于 Safari 和 AppEngine 的限制,我和我的团队对我们出色的动画应用无法在 Safari 上运行感到不满。我们希望你们中的一个可以帮助我们找到解决它的“魔法咒语”。

这可能是一个非常容易解决的问题,但两天后我们只遇到了砖墙,因为这是一个不常见(尽管非常有用)的场景,几乎没有记录。

让我解释一下问题的细节。

我们的应用程序需要将画布数据保存到 blobstore(用户为其动画绘制的图像)。通常,您可以通过 ajax 动态发布 Web 表单来实现此目的,其中包含图像数据的二进制字段。一种方法是使用 ArrayBuffer 和 BlobBuilder。这适用于 Chrome:

保存二进制表单数据的另一种方法是使用 xhr.sendAsBinary()。这适用于火狐:

对于 Safari,这些可能性似乎都不存在(尽管很有可能,但我们还不够聪明,无法弄清楚)。一种替代方法是仅使用 base64 编码的数据,Safari 可以肯定地做到这一点。这就是它的样子:

现在这确实有效!但是,它仅适用于 AppEngine 工具的开发版本,因为存在一个已知的 blobstore 错误:当您将应用部署到生产环境时,它就会停止工作。当然,在某处调整 POST 代码可能会解决 blobstore 解释数据的问题。请参阅http://code.google.com/p/googleappengine/issues/detail?id=4265了解与此问题相关的 Blobstore 问题。

您可以将上面三个代码示例中的任何一个粘贴到编辑控件中,并可以查看 postCanvasToBlobstore 函数的每个版本会发生什么情况:第一个示例将在 Chrome 中运行,第二个将在 Firefox 中运行(并且是调试应用程序默认的版本to),第三个应该适用于所有三个(但在使用这个生产网站时对它们都不适用,可能是因为 blobstore 错误。)

0 投票
4 回答
6757 浏览

google-app-engine - 使用 Google App Engine 图片 get_serving_url() 的清晰示例

有人知道这方面的例子吗?我无法在 Google 的文档中找到一个。

0 投票
1 回答
681 浏览

python - 一些 Google App Engine BlobStore 问题

我已经在 Google App Engine 官方网站上搜索并阅读了有关 BlobStore 的文档,但仍有一些我不明白的问题。我的平台是 webapp。

我读过的文件:

在阅读了所有这些文档后,我仍然有一些问题:

  1. Blobstore Python API 概述中它说:应用程序可以通过一次 API 调用读取的 Blobstore 数据的最大大小为 1MB。这是什么意思?此 1MB 限制是否适用于sendblob()?以webapp Blobstore Handlers中的以下代码为例:

    这是否意味着与 关联的照片(上传并存储在 blobstore 中)photo_key必须小于 1MB?从上下文来看,我不这么认为。我认为照片可以大到 2GB。但我不确定。

  2. ContentType 是如何确定的send_blob()?是文本/html 还是图像/jpeg?我可以自己设置它吗?以下来自webapp Blobstore Handlers的解释令人困惑。对于不会说英语的人来说相当困难。有人可以用代码示例来解释它吗?文档在哪里send_blob()?我找不到它。

    send_blob() 方法接受一个 save_as 参数,该参数确定 blob 数据是作为原始响应数据还是作为带有文件名的 MIME 附件发送,这会提示 Web 浏览器使用给定名称保存文件而不是显示它。如果参数的值是字符串,则 blob 作为附件发送,字符串值用作文件名。如果 True 且 blob_key_or_info 是 BlobInfo 对象,则使用该对象的文件名。默认情况下,blob 数据作为响应正文发送,而不是作为 MIME 附件发送。

  3. 有一个文件http://www.example.com/example.avi是 20MB 甚至 2GB。我想从互联网上获取 example.avi 并将其存储在 BlobStore 中。我检查了,urlfetch请求大小限制为 1MB。我搜索并没有找到解决方案。

非常感谢!

0 投票
1 回答
2695 浏览

java - Google App Engine Blobstore 存储 Blob 但生成无效密钥!?我的代码有什么问题?

我想上传一个文件,将其存储在 Blobstore 中,然后稍后访问它(通过 BlobKey),但这不起作用。

这是我的代码:

这行得通!意味着文件存储在 Blobstore 中,我<blob-key>jA_W_jiKoTpXAe9QjeFlrg</blob-key>从 Post 请求中得到类似的东西。

现在我想用这个键访问这个 Blob,但是下面的代码会导致 NullPointerException,因为 blobInfo 是 null....但是为什么???

如果有人能找出问题所在,我会非常高兴....

0 投票
2 回答
176 浏览

java - 从 Blobstore 中反序列化大型 Blob

我将大型 Blob 存储在数据存储中。这些是最大 20mb 的 XML 文件。存储一个 20mb 的 XML 文件很好,但是当我需要反序列化它时问题就来了。

这有各种各样的限制:

  • 我无法从 Blobstore 读取超过 1mb 的内容
  • 即使我可以,我仍然面临 5mb RAM 的限制(因为我需要在反序列化之前将所有 XML 放入 RAM)

你说我怎么能应付?我对各种解决方案持开放态度,但希望不涉及使用其他托管服务提供商。

0 投票
2 回答
2650 浏览

python - get(self) 只需要 1 个参数,提供 2 个参数 - 不是

我在以下发生了一个非常奇怪的错误:

响应是这样的:

该代码应该获取 URL 请求的结尾,将其传递给iconKeyvar,并将其用作 blob 键来访问图像的 blobstore 并使用该images.get_serving_url()方法创建一个服务 url。

有人遇到过这个吗?我尝试@staticmethod在定义上放置一个参数get,但是当然,这使得该get方法无法通过self.

编辑

我只是改变了一些东西,它得到了另一个错误。我一直在([^/]+)?为 URL 使用正则表达式 - URL 将在哪里,/view/icon/76M5e-xIStHRJDYyXBXjDA==传递给该get()方法的资源将是76M5e-xIStHRJDYyXBXjDA==URL 的结尾。

(.*)我只是根据@systempuntoout 下面的答案将正则表达式更改为。现在我收到此错误:AttributeError: split使用此堆栈跟踪:

0 投票
2 回答
2482 浏览

google-app-engine - 文件上传 google app engine blobstore

我将使用 Google 应用引擎 Blobstore 来存储我上传的文件。文件类型可以是任何东西(.txt、.pdf、.docx 等),我编写了以下 servlet 来下载 Google 应用引擎 Blobstore 中存储的文件。

公共无效doGet(HttpServletRequest req,HttpServletResponse res)抛出IOException {

}

但是每次我通过提供如下网址请求文件时, http: //127.0.0.1 :8888/serve?blob-key=DEHQ3U_2wtUdEL7XPI434Q 文件都会很好地下载。但文件没有扩展名。并且文件的名称始终是“服务”我应该怎么做才能以文件的原始名称下载上传的文件?谢谢,