Я пытаюсь прочитать входные данные (строка из файла, 2 ints из текстовых полей) из html в Google App Engine и поместить их в функцию. Секция входа:Извлечение ввода из html с POST
self.write('<form action="%s" method="POST" enctype="multipart/form-data">' \
% os.environ['PATH_INFO'])
self.write('<input type="file" name="pdf_file" />')
self.write('<input type="text" name="generations" />')
self.write('<input type="text" name="legnthOfDay" />')
self.write('<input type="submit" value="Submit" />')
Выходная часть будет многообещающе:
def post(self):
"""Convert, parse and print text from converted PDF."""
text = self.request.POST['pdf_file'].file.read()
lengthOfDay = int(text=self.request.POST['lengthOfDay'])
generations = int(text=self.request.POST['generations'])
sim = Simulation(text, generations, lengthOfDay
текстовая строка вывода, взятый из примера онлайн, работает, но только если есть файл, как может Я поймаю его и продолжаю, если файл не указан? Следующие две строки, которые я написал, являются проблемой. Я действительно не знаю, какой запрос.POST [...] возвращает, так что это дает мне и как я могу извлечь из него ints?
Вы должны проверить состояние/значение файла, прежде чем читать. –
Как это сделать, я не уверен, что возвращает POST ['pdf_file'], поэтому я не знаю, как работает файл .file. – EasilyBaffled
Вы можете выполнить некоторую базовую отладку. Вы не указали ошибку, когда нет файла. Это даст вам много подсказок. Вы не сказали, какие рамки вы используете, поэтому я собираюсь предположить, что это webapp2. Если это так, сделайте некоторое чтение о том, как обращаться с файлами http://webapp-improved.appspot.com/guide/request.html См. Раздел с отмеченными файлами. Но обычно вы можете просто использовать 'if', как в' if self.request.POST ['pdf_file']. File: ' –