Загрузить выбранный файл как вариант предварительного просмотра с помощью jquery

В моем случае пользователь может выбрать файл и нажать кнопку отправки. после кнопки отправки я показываю файл в виде таблицы с именем файла, размером файла, ссылкой для скачивания и опцией удаления. теперь мое требование - если пользователь нажимает кнопку загрузки из таблицы, файл должен загружаться. Я не хочу загружать на стороне файлового сервера набор файлов.

  var file = document.getElementById('documentfile').files[0];
                var filename = document.getElementById('documentfile').files[0].name;
                var size = document.getElementById('documentfile').files[0].size;
                var ext = $('#documentfile').val().split('.').pop().toLowerCase();
                var reader = new FileReader();
                var fileurl;
                reader.onload = function (e) {
                    fileurl = e.target.result;
                }
                reader.readAsDataURL(file);
                var str = '<tr><td>1</td><td>' + filename + '</td><td>' + $('.sltdoctype').val() + '</td><td>' + niceBytes(size) + ' </td><td> <a href=' + fileurl + '  download>download</a></td><td> <a href="#" class="anchorRemove" >Remove</a> </td></tr>'
                $('.document-table-str .table .tbody').append(str);
                $('.document-table-str').show();
                $('#documentfile').val("")

Чего ждать? вы хотите загрузить файл, не загружая его на свой сервер?

zeropublix 10.09.2018 07:29

да, на самом деле я хочу предоставить опцию предварительного просмотра. пользователь может выбрать несколько файлов, если пользователь сомневается в своем файле, он или она загружают файл и проверяют. после окончательной отправки я загружу все файлы на сервер

Ajay 10.09.2018 07:35

Я обновил код

Ajay 10.09.2018 08:10

Лучше ... Итак, ваша проблема хорошо покрыта множеством дураков, все они указывают на это канонический. Я больше не могу голосовать за закрытие, так как я уже голосовал против первой ревизии. Но на самом деле вам даже не нужно запускать этот кошмар обратного вызова, просто используйте синхронный URL.createObjectURL(file). Намного лучше во всех отношениях. И я здесь не для того, чтобы судить или что-то в этом роде, но вы уверены, что хотите, чтобы ваш пользователь загружал файлы, которые он только что загрузил, со своего диска?

Kaiido 10.09.2018 08:24
0
4
52
0

Другие вопросы по теме