Изображение колбы не обновляется на 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 для изображения на вкладке сети.

Этот ответ показывает, как бороться с кэшированием: проблемы с кэшированием в браузере

Альтернативой является просто изменить имя файла.

Другие вопросы по тегам