Получение имени и расширения загруженного файла с помощью python (движок приложения Google)

Я использую форму для загрузки файлов в движок приложения Google и сохранения их в хранилище данных. Я также хотел бы сохранить исходное имя файла и расширение для презентационных целей.

Есть ли способ получить эти данные со стороны почтового сервера или они могут быть собраны только на стороне клиента и отправлены в виде отдельных полей (например, http://www.tinyurl.com/5jybfq)?

Большое спасибо.

Для тех, кто следует решению, основанному на ответе ниже:

this_file = self.request.params["file_upload_form_field_name"].filename 

(this_file_name, this_file_extension) = os.path.splitext(this_file) 

self.response.out.write("File name: " + this_file_name + "<br>") 

self.response.out.write("File extension: " + this_file_extension + "<br>") 

person notreadbyhumans    schedule 26.07.2009    source источник


Ответы (2)


Работает ли фрагмент из этого письма?

 self.request.params[<form element name with file>].filename
person thedz    schedule 26.07.2009
comment
Да! Спасибо. Для следующих: this_file = self.request.params[file_upload_form_field_name].filename (this_file_name, this_file_extension) = os.path.splitext(this_file) self.response.out.write(File name: + this_file_name + ‹br›) self .response.out.write(Расширение файла: + this_file_extension + ‹br›) - person notreadbyhumans; 26.07.2009

Попробуй это...

Если ваша форма выглядит так:

self.response.out.write('''<form action="/upload" enctype="multipart/form-data" method="post"><input type="file" name="file"/><input type="submit" /></form>''')

Затем в обработчике сообщений попробуйте следующее:

class UploadHandler(webapp.RequestHandler):     
    def post(self):
        obj = MyModel()
        obj.filename = self.request.get("file")
        obj.blob = self.request.get("contents")
        obj.put()
        self.redirect('/')

Имя файла хранится в параметре "file". Фактическое содержимое файла находится в параметре «contents».

person 010110110101    schedule 24.01.2011