Загруженный файл Quart (Flask) удален сразу после завершения запроса.Python

Программы на Python
Ответить
Anonymous
 Загруженный файл Quart (Flask) удален сразу после завершения запроса.

Сообщение Anonymous »

Я использую Quart (вилка Flask), и у меня есть представление, которое обрабатывает загрузку файла «.bin» (100 МБ).
Но при вызове file.save(path) я вижу, что файл на мгновение появляется в папке назначения и сразу же удаляется.
Не могу понять, почему это происходит.
Просмотреть код:
@app.post("/settings/system-update")
async def system_update():
files = await request.files
update_img = files.get("update-img")

if update_img is None or update_img.filename == '':
logger.error(f"Update Image was not found in files: {files}")
await flash("Update Image was not found in uploaded files", "error")
return redirect(url_for("settings"))

# Create temporary directory if not exists
update_tmp_folder = os.path.join(config.TMP_DIR, "update")
os.makedirs(update_tmp_folder, exist_ok=True)

image_name = secure_filename(update_img.filename)
file_path = os.path.join(update_tmp_folder, image_name)

await update_img.save(file_path)

return redirect(url_for("settings"))

file_path возвращает правильную строку пути.
У меня есть @app.after_serving, который имеет логику очистки, но строки кода, связанные с очисткой папки temp, закомментированы (я думал, что содержимое temp может быть удалено при перезагрузке сервера), а также переключение на use_reloader=False.
Файл, загруженный через запрос AJAX без тега :


Start updating


JS-код:
// Update upload
$updateApplyBtn.on("click", function () {
var updateFile = $updateFileInput[0].files[0];
var formData = new FormData();
formData.append("update-img", updateFile);

$.ajax({
url: $updateFileInput.data("update-url"),
type: "POST",
data: formData,
contentType: false,
processData: false,
success: function (res) {
console.log(res)
}
});
});


Подробнее здесь: https://stackoverflow.com/questions/798 ... -completed
Ответить

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

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

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

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

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