Как установить свойство имени файла в BlobStore? - PullRequest
9 голосов
/ 18 апреля 2011

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

        image = urllib2.urlopen(url)
        file_name = files.blobstore.create(mime_type='image/png')
        with files.open(file_name, 'a') as f:
            f.write(image.read())
        files.finalize(file_name)  
        image_blob_key = files.blobstore.get_blob_key(file_name) 

Ответы [ 2 ]

8 голосов
/ 18 апреля 2011

Разобрать имя файла по ссылке (см. Соответствующий вопрос здесь ).Затем вы можете установить его, добавив дополнительный параметр к вашему вызову files.blobstore.create:

file_name = files.blobstore.create(mime_type='image/png',_blobinfo_uploaded_filename=file_name_from_url)
4 голосов
/ 31 августа 2011

Я знаю, что это старый вопрос, но ...

self.send_blob (blob_info, save_as = True) позволяет вместо True указать строку. Это означает, что файл будет обслуживаться с предоставленной строкой в ​​качестве имени файла. Таким образом, одним из решений является сохранение имени файла вместе с blobkey, а затем, когда вы используете его с помощью send_blob, вы указываете имя файла в качестве аргумента. Вам не важно, как будет храниться файл, вам важно только то, как он будет обработан.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...