将blob写入blobstore

时间:2011-10-31 10:49:04

标签: python google-app-engine blobstore

我正在尝试使用此处描述的方法写入blobstore:

http://code.google.com/appengine/docs/python/blobstore/overview.html#Writing_Files_to_the_Blobstore

我尝试使用remote_api执行以下代码:

file_name = files.blobstore.create(mime_type='text/html',_blobinfo_uploaded_filename='sample.txt')
with files.open(file_name, 'a') as f:
    f.write('sample text for the sample blob')
files.finalize(file_name)

总是引发错误(在上面的第三行):

Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "C:\Program Files (x86)\Google\google_appengine\google\appengine\api\file
s\file.py", line 310, in write
    self._make_rpc_call_with_retry('Append', request, response)
  File "C:\Program Files (x86)\Google\google_appengine\google\appengine\api\file
s\file.py", line 388, in _make_rpc_call_with_retry
    _make_call(method, request, response)
  File "C:\Program Files (x86)\Google\google_appengine\google\appengine\api\file
s\file.py", line 236, in _make_call
    _raise_app_error(e)
  File "C:\Program Files (x86)\Google\google_appengine\google\appengine\api\file
s\file.py", line 179, in _raise_app_error
    raise FileNotOpenedError()
FileNotOpenedError

我想写的文件非常小(<20KB),所以它不是配额问题。我还缺少其他步骤吗?

1 个答案:

答案 0 :(得分:-1)

也许您可能需要添加以下模块,但如果您之前没有添加。

    from __future__ import with_statement 
 -->from google.appengine.api import files
    from google.appengine.ext import blobstore
    from google.appengine.ext.webapp import blobstore_handlers


    file_name = files.blobstore.create(mime_type='text/plain',_blobinfo_uploaded_filename='sample.txt')
    with files.open(file_name, 'a') as f:
         f.write('sample text for the sample blob') 
    files.finalize(file_name)