我的网络应用程序在 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/