v1.0.178: fix двойной проверки дубликатов в addZipFile + console.error для диагностики unzip
This commit is contained in:
+2
-8
@@ -329,18 +329,11 @@ async function addZipFile(file) {
|
|||||||
state.files.splice(zipIdx, 1);
|
state.files.splice(zipIdx, 1);
|
||||||
render(state);
|
render(state);
|
||||||
|
|
||||||
// Добавить файлы из архива, пропуская дубликаты по имени
|
// Добавить файлы из архива (дубликаты перезаписываются)
|
||||||
for (var zi = 0; zi < zipResp.files.length; zi++) {
|
for (var zi = 0; zi < zipResp.files.length; zi++) {
|
||||||
var zf = zipResp.files[zi];
|
var zf = zipResp.files[zi];
|
||||||
if (zf.error) continue; // файл с ошибкой — пропускаем
|
if (zf.error) continue; // файл с ошибкой — пропускаем
|
||||||
|
|
||||||
// Проверить дубликат по имени (защита от повторной загрузки того же архива)
|
|
||||||
var dup = -1;
|
|
||||||
for (var dj = 0; dj < state.files.length; dj++) {
|
|
||||||
if (state.files[dj].name === zf.filename) { dup = dj; break; }
|
|
||||||
}
|
|
||||||
if (dup >= 0) continue; // уже есть в очереди — не добавляем
|
|
||||||
|
|
||||||
var zEntry = {
|
var zEntry = {
|
||||||
name: zf.filename, size: zf.size,
|
name: zf.filename, size: zf.size,
|
||||||
doc_id: zf.doc_id, uploaded: true,
|
doc_id: zf.doc_id, uploaded: true,
|
||||||
@@ -371,6 +364,7 @@ async function addZipFile(file) {
|
|||||||
}
|
}
|
||||||
} catch(ze) {
|
} catch(ze) {
|
||||||
// Ошибка распаковки — показать в строке ZIP
|
// Ошибка распаковки — показать в строке ZIP
|
||||||
|
console.error('addZipFile error:', ze, 'UNZIP_URL=', UNZIP_URL);
|
||||||
state.files[zipIdx].status = { kind: 'error', text: 'ZIP: ' + ze.message };
|
state.files[zipIdx].status = { kind: 'error', text: 'ZIP: ' + ze.message };
|
||||||
render(state);
|
render(state);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user