У меня есть форма HTML, позволяющая загружать файлы. Мне нужно отправить загруженный файл по электронной почте. Я следую за классом запроса Google appengine example.Получить загруженное имя файла с помощью класса запросов App App
from google.appengine.ext import webapp
from google.appengine.api import mail
class MyRequestHandler(webapp.RequestHandler):
def get(self):
self.response.out.write('''
<html>
<body>
<form method="post">
<p>File: <input type="file" name="upload" /></p>
<p><input type="submit" /></p>
</form>
</body>
</html>
''')
def post(self):
uploaded_file = self.request.get("upload")
uploaded_name = "file.doc"
message = mail.EmailMessage(sender="Me <[email protected]>",
subject="Email from me")
message.to = "Me <[email protected]>"
message.body = "See attached file."
message.attachments = [(uploaded_name, uploaded_file)]
message.send()
Приведенный выше код работает. Мне нужно заменить hardcoded имя файла (file.doc) в файле message.attachments с фактическим именем загруженного файла. У меня есть два вопроса:
- Как получить имя загруженного файла из класса Webapp Request?
- Где я могу найти документацию, описывающую, как это сделать? Я сделал кучу поиска и не могу найти справочные материалы или примеры.
UPDATE: Похоже решение:
if uploaded_file != "":
uploaded_name = self.request.params["upload"].filename
... как вывешено here.