2012-06-15 4 views
0


Я успешно загрузил файл в blobstore, используя код this.Невозможно скачать файл из blobstore


Но я не знаю .
Что я делаю:

`class PartnerFileDownloadHandler(blobstore_handlers.BlobstoreDownloadHandler): 
    def get(self, blob_key): 
    resource = str(urllib.unquote(blob_key)) 
    logging.info('I am here.') //This gets printed successfully. 
    blob_info = blobstore.BlobInfo.get(blob_key) 
    logging.info(blob_info) //This gets logged too. 
    self.send_blob(blob_info)` 

Я также попытался:

blobstore.BlobReader(blob_key).read() 

и получить данные файла в виде строки, но я не могу написать его в файл как локальный файл Я думаю, система не может быть доступна из обработчика.

Способ, которым я загружаю файл, является единственным способом в моем проекте, поэтому я не могу использовать обычный способ, указанный в официальном руководстве Google. Также Файл, который я загружаю в blobstore, отсутствует в моем локальном файле syatem, я выбираю его из URL, возможно, это проблема, почему я не могу загрузить файл.
Любые предложения?
Благодаря

ответ

1

Может быть, вы должны использовать ресурс вместо blob_key из вашего образца кода?

class PartnerFileDownloadHandler(blobstore_handlers.BlobstoreDownloadHandler): 
def get(self, blob_key): 
resource = str(urllib.unquote(blob_key)) 
self.send_blob(resource) 
0

вы можете использовать DownloadHandler как это:
из Mimetypes импорта guess_type

def mime_type(filename): 
     return guess_type(filename)[0] 
    class Thumbnailer(blobstore_handlers.BlobstoreDownloadHandler): 
     def get(self , blob_key): 

      if blob_key: 
       blob_info = blobstore.get(blob_key) 


       if blob_info: 
        save_as1 = blob_info.filename 
        mime_type=mime_type(blob_info.filename) 
        self.send_blob(blob_info,content_type=mime_type,save_as=save_as1) 
Смежные вопросы