fix(upload): add client_max_body_size to nginx config and improve upload error messaging

This commit is contained in:
2026-10-06 10:30:49 +03:00
parent 6dcfd59f73
commit 2a84b5bcb0
3 changed files with 17 additions and 5 deletions
+2 -2
View File
@@ -5,7 +5,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover">
<title>Notes — Персональный тренажер и словарь английского языка</title>
<meta name="description" content="Защищённый персональный тренажёр и словарь английского языка с интервальными повторениями SRS SM-2, контекстным поиском и озвучкой">
<link rel="stylesheet" href="/static/css/style.css?v=3.8">
<link rel="stylesheet" href="/static/css/style.css?v=3.9">
<!-- PWA meta and icons -->
<link rel="manifest" href="/manifest.json">
@@ -1075,7 +1075,7 @@
<!-- Audio Element for native streaming -->
<audio id="global-audio-player" preload="none"></audio>
<script src="/static/js/app.js?v=3.8"></script>
<script src="/static/js/app.js?v=3.9"></script>
</body>
</html>
+13 -3
View File
@@ -3915,12 +3915,22 @@ document.addEventListener('DOMContentLoaded', () => {
bookFileInput.value = '';
window.location.hash = `#reader/book/${book.id}`;
} else {
const errData = await resp.json();
alert(`Ошибка загрузки: ${errData.detail || 'Не удалось обработать файл'}`);
let errMsg = 'Не удалось обработать файл';
try {
const errData = await resp.json();
errMsg = errData.detail || errMsg;
} catch (_) {
if (resp.status === 413) {
errMsg = 'Файл слишком большой (превышен лимит размера в Nginx)';
} else {
errMsg = `Код ответа сервера: HTTP ${resp.status}`;
}
}
alert(`Ошибка загрузки: ${errMsg}`);
}
} catch (e) {
console.error('File upload error:', e);
alert('Ошибка сети при загрузке файла');
alert('Ошибка сети или соединение прервано при загрузке файла');
}
});
}