Изображение колбы не обновляется на HTML-странице
У меня есть веб-приложение для колб, в котором пользователь может загрузить изображение и отобразить гистограмму. Я сохраняю свое изображение гистограммы в статической папке и удаляю его, когда пользователь пытается создать новое изображение.
@app.route('/upload', methods=['POST'])
def upload():
file = request.files['file']
filename = secure_filename(file.filename)
file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
os.remove('./static/h_hist.png')
hsv_hist.histogram(filename)
return render_template("result.html", filename=filename)
гистограмма нового изображения была сохранена в статическую папку, если пользователь загружал
но когда я показываю его на своей странице, изображение гистограммы не меняется на гистограмму нового изображения, оно остается старым
result.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Image Processing Result</title>
</head>
<body>
<div class="container">
<img src="{{ url_for('static', filename=filename) }}">
<h2>HSV Histogram</h2> <hr>
<img src="{{ url_for('static', filename='h_hist.png') }}">
</div>
</body>
</html>
1 ответ
Если имя файла не изменяется и само изображение удаляется, то, скорее всего, изображение кэшируется посредником и не обновляется, если имя файла не изменилось или срок действия кэша не истек.
Вы можете проверить это с помощью инструментов разработчика браузера и посмотреть, если вы получите код 304 для изображения на вкладке сети.
Этот ответ показывает, как бороться с кэшированием: проблемы с кэшированием в браузере
Альтернативой является просто изменить имя файла.