python - 如何解决 "[Errno 13] file not accessible"错误?

标签 python django google-app-engine blobstore

我的网络应用程序在 Google App Engine 上使用 Django (django-nonrel)。我正在尝试打开 Blobstore 文件。

我的代码成功创建了 Blobstore 文件和一个 Photo 对象来引用 Blobstore 的文件名(以及一些其他元数据)。

from __future__ import with_statement
from google.appengine.api import files
import mimetypes

...

  file_name = files.blobstore.create(mime_type=mimetypes.guess_type(request.FILES['photo'].name)[0])

  with files.open(file_name, 'a') as f:
    f.write(photo_data)

  files.finalize(file_name)

  photo = Photo()
  photo.file_name = file_name
  ...
  photo.save()

但是,尝试打开文件会产生以下错误:

opened_file = open(photo.file_name)

IOError at /post_photo_to_facebook/

[Errno 13] file not accessible: '/blobstore/writable:NDNFUjNIVDdVQTM4Rk9aSE1aQkJMUzJUMzVDRVNRVEhJSjU3RUhWOE9ZMkk3QlNWR0FDR0JDOFUxSlA0Wlk3MA=='

感谢任何帮助 - 感谢阅读!

最佳答案

Blobstore 文件存储在 blobstore 中。 open 是一个在本地文件系统上打开文件的函数(模特殊情况,如 writing blob)。根据 the docs ,如果你想在完成后打开 blobstore 文件,你需要在文件名上调用 files.blobstore.get_blob_key(file_name) 来获取你应该用来引用 blob 的 blob 键对象(并使用 BlobReader 打开它。

关于python - 如何解决 "[Errno 13] file not accessible"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5753527/

相关文章:

python - Python中(专家系统)的后向和前向链接算法

python - 如何将多个参数传递给 apply 函数

当变量值丢失时,Django 模板中的 Javascript 语法错误

python - Django-Pinax : How do you use a pinax app apart from what you get with a pinax base project?

css - GAE : Why is my css not found?

java - 用于依赖注入(inject)的 Google App 引擎 Dagger Bootstrap 注入(inject)

python - 使用 Flask 和 gunicorn 为服务器加载全局数据

Python xmlrpclib.使用 NetDNA 的 API 时出现故障

python - 如何在 Django 模板中循环列表

java - 将 JPA 与 Cloud SQL 结合使用时,这些限制是否仍然存在?