Flask. Загрузка некоторых файлов изображений вызывает ошибку 500 Internal Server... а другие нет?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Flask. Загрузка некоторых файлов изображений вызывает ошибку 500 Internal Server... а другие нет?

Сообщение Anonymous »

Я создаю веб-сайт с использованием flask для финального проекта CS50x и хочу, чтобы мои пользователи могли добавлять изображения в свои профили. Поэтому я установил следующее базовое приложение для проверки функциональности:
application.py

Код: Выделить всё

    import os
from flask import *
app = Flask(__name__)

UPLOAD_FOLDER = 'uploads'
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER

@app.route('/')
def upload():
return render_template("file_upload_form.html")

@app.route('/upload', methods = ['POST'])
def upload():
if request.method == 'POST':
file = request.files['file']
file.save(os.path.join(app.config['UPLOAD_FOLDER'], "test.jpg"))
return redirect("/")
file_upload_form.html

Код: Выделить всё


Upload








После тестирования я обнаружил, что для большинства загруженных мной файлов выдавалась Внутренняя ошибка сервера 500 без каких-либо обратная связь или что-то еще. Однако работали два изображения — оба в формате JPEG и оба небольших файла (менее 100 КБ на диске). Я не могу понять, почему одни изображения работают, а другие нет. В идеале я бы хотел, чтобы мой веб-сайт постоянно обрабатывал изображения.
Посоветуйте, где я ошибаюсь?
Спасибо
============== РЕДАКТИРОВАТЬ ==================
редмицеллы любезно заметил, что у меня есть две функции с одинаковым именем — извините! Однако проблема остается.

Код: Выделить всё

import os
from flask import *
app = Flask(__name__)

UPLOAD_FOLDER = 'uploads'
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER

@app.route('/')
def myindex():
return render_template("file_upload_form.html")

@app.route('/upload', methods = ['POST'])
def upload():
if request.method == 'POST':
file = request.files['file']
file.save(os.path.join(app.config['UPLOAD_FOLDER'], "test.jpg"))
return redirect("/")

if __name__ == "__main__":
app.run(debug=True)
Терминал выводит следующее:
  • Обслуживание приложения Flask «application.py» (отложенная загрузка)
    Среда: разработка
  • Режим отладки: включен
  • Выполняется https://e08f1ea9-40e0-458c-8c38-6f7f5b5 ... .xyz:8080/ (чтобы выйти, нажмите CTRL+C)
  • Перезапуск с помощью stat
  • Отладчик активен!
  • ПИН-код отладчика: 113-512-723
    192.168.239.158 - - [06/Авг/2020 21:17:11] "GET / HTTP/1.0" 200 -
Поэтому даже при включенном режиме отладки я не получаю никакой обратной связи.

Подробнее здесь: https://stackoverflow.com/questions/632 ... -but-not-o
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»