Я пытаюсь создать веб-приложение с Flask, которое позволяет пользователю загружать файл и обслуживать его другому пользователю. Сейчас я могу загрузить файл в папку upload_folder правильно. Но я не могу найти способ позволить пользователю загрузить его обратно.
Я храню имя файла в базе данных.
У меня есть представление, обслуживающее объекты базы данных. Я также могу удалить их.
@app.route('/dashboard', methods=['GET', 'POST'])
def dashboard():
problemes = Probleme.query.all()
if 'user' not in session:
return redirect(url_for('login'))
if request.method == 'POST':
delete = Probleme.query.filter_by(id=request.form['del_button']).first()
db.session.delete(delete)
db.session.commit()
return redirect(url_for('dashboard'))
return render_template('dashboard.html', problemes=problemes)
В моем HTML я:
<td><a href="{{ url_for('download', filename=probleme.facture) }}">Facture</a></td>
и вид загрузки:
@app.route('/uploads/<path:filename>', methods=['GET', 'POST'])
def download(filename):
return send_from_directory(directory=app.config['UPLOAD_FOLDER'], filename=filename)
Но он возвращается:
Не найдено
Запрошенный URL-адрес не найден на сервере. Если вы указали URL вручную, проверьте правильность написания и повторите попытку.
Я просто хочу связать имя файла с объектом и позволить пользователю его загрузить (для каждого объекта в том же представлении)