Загрузите несколько файлов с перетаскиванием в папкуJavascript

Форум по Javascript
Ответить
Anonymous
 Загрузите несколько файлов с перетаскиванием в папку

Сообщение Anonymous »

Я пытаюсь реализовать функцию, в которой пользователи могут перетаскивать несколько файлов на свой рабочий стол для прямой загрузки. Если я перетаскиваю один файл, он работает отлично, но когда я пытаюсь перетащить несколько файлов одновременно, он не работает. ("DownloadUrl", ...) Для каждого файла
это работает для одного файла, но для нескольких файлов загружается только один файл. Некоторые источники предлагают установить несколько значений загрузки с использованием Newline Sadation: < /p>
vent.dataTransfer.setData("DownloadURL", "application/pdf:file1.pdf:https://example.com/file1.pdf\napplicat ... /file2.pdf");
< /code>
Тем не менее, Chrome дает, что файл не доступен. Добавление файлов с использованием event.datatransfer.items.add (), но это, похоже, не поддерживает загрузки файлов. < /p>
код: < /p>
document.addEventListener("dragstart", function (event) {
let draggedFiles = document.querySelectorAll(".files-a[data-selected='1']");

if (draggedFiles.length === 0) {
let singleFile = event.target.closest(".files-a");
if (singleFile) {
draggedFiles = [singleFile]; // Convert single file to an array
}
} else {
draggedFiles = Array.from(draggedFiles); // Convert NodeList to an array
}

if (draggedFiles.length > 0) {
console.log("Dragging multiple files:", draggedFiles);

let downloadLinks = draggedFiles.map(file => {
let fileUrl = file.getAttribute("href");
let fileName = file.getAttribute("data-name") || fileUrl.split('/').pop();
let mimeType = getMimeType(fileUrl);
return `${mimeType}:${fileName}:${window.location.origin + "/priloge/" + fileUrl}`;
}).join("\n"); // Attempt to set multiple files

event.dataTransfer.setData("DownloadURL", downloadLinks);
}
});
< /code>
Мои вопросы:
можно ли даже перетаскивать несколько файлов для прямой загрузки в Chrome? и капля? Любая помощь будет оценена! 🚀

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

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

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

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

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

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