хранение MIME-типа в интернет-магазине

1

Как я могу также сохранить MIME-тип входящих капель в blob-магазин? Теперь я не получаю имя или тип MIME, который может использовать обработчик blobstore_handlers.BlobstoreUploadHandler. Здесь мой код, который не использует blobstore_handlers.BlobstoreUploadHandler:

    def create_image(number, self, file, ad):
        logging.debug('creating image')            
        try:
          file_name = files.blobstore.create()
          with files.open(file_name, 'a') as f:
              f.write(file)
          files.finalize(file_name)
          blob_key = files.blobstore.get_blob_key(file_name)
          logging.debug('creating image')
          img = Image(reference=ad) 
          logging.debug('creating image')
          img.primary_image = blob_key
          logging.debug('creating image')
          img.put()
          ad.put()
        except Exception:                
           self.response.write(Exception)
Теги:
google-app-engine

1 ответ

1
Лучший ответ

Оба типа и тип mime могут передаваться в качестве аргументов для создания:

def create(mime_type='application/octet-stream',
           _blobinfo_uploaded_filename=None):
  """Create a writable blobstore file.

  Args:
    mime_type: Resulting blob content MIME type as string.
    _blobinfo_uploaded_filename: Resulting blob BlobInfo file name as string.

  Returns:
    A file name for blobstore file. This file can be opened for write
    by File API open function. To read the file or obtain its blob key, finalize
    it and call get_blob_key function.
  """
  • 0
    Спасибо за ответ. Я заметил, что это делается автоматически при использовании spec blobstoreuploadhandler. Я думаю, что могу использовать это вместо этого, так как я не знаю, как получить тип MIME или имя файла. Я должен был бы изменить мою регистрацию формы, которую я предполагаю, что я могу сделать.
  • 1
    Вы можете получить указанные браузером имя файла и тип mime из объекта cgi.FieldStorage. Однако если вы используете форму загрузки, использование BlobStoreUploadHandler, безусловно, имеет больше смысла.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню