fast-je
@fast-je
Пишу на php.

Как сделать мульти загрузку файлов с помощью paste event js?

Как сделать мульти загрузку файлов с помощью paste event js ?
Хочу сделать мульти загрузки изображение через буфер, но не получается, все время в e.clipboardData.items будто попадает один файл. И

function pasteHandler(e) {
// если поддерживается event.clipboardData (Chrome)
    var filesArr = [];

    // console.log(e.clipboardData.getData("text/plain"));
    if (e.clipboardData) {
        // получаем все содержимое буфера
        var items = e.clipboardData.items;
        if (items) {
            // находим изображение
            console.log(e);
            for (var i = 0; i < items.length; i++) {
                console.log(i, items[i].type);
                if (items[i].type.indexOf("image") !== -1) {
                    var imgType = items[i].type.split('/')[1];

                    var isAccepted = acceptedImgTypes.some(function (item) {
                        return imgType === item;
                    });
                    if(!isAccepted){
                        var acceptedTypeString = '';
                        acceptedImgTypes.forEach(function (item,i) {
                            acceptedTypeString += item;
                            if(i !== acceptedImgTypes.length - 1) acceptedTypeString+=',';
                        });
                        alert('Такое расширение файла не поддерживается,только '+acceptedTypeString+", тип файла - "+imgType);
                        continue;
                    }

                    // представляем изображение в виде файла
                    var blob = items[i].getAsFile();
                    console.log(blob);
                    filesArr.push(blob);

                }
            }
            console.log(filesArr);
            downloadFileToServer(filesArr);
        }
        // для Firefox проверяем элемент с атрибутом contenteditable
    } else {
        setTimeout(checkInput, 1);
    }
}
  • Вопрос задан
  • 176 просмотров
Пригласить эксперта
Ответы на вопрос 1
Судя по всему в chrome это API еще не реализовано в полной мере. Вот раз и два.
В Safari все работает. Ну и лучше все таки не использовать экспериментальные функции.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы