我的web應用程序在Google App Engine上使用Django(django-nonrel)。我正在嘗試打開Blobstore文件。如何解決「[Errno 13]文件無法訪問」錯誤?
我的代碼成功地創建了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=='
任何幫助表示讚賞 - 感謝您的閱讀!
感謝尼克,這個特例讓我失望。什麼是files.blobstore.create()返回有用的file_name屬性? – oldpal 2011-04-22 18:10:19
@bfox用於創建blob,如代碼片段所示。一旦完成,它就在blobstore中,所以應該使用它的blob ID進行訪問。 – 2011-04-23 00:49:27