Показать предварительный просмотр документа в angularjs

#angularjs #iframe #document #filereader #preview

#angularjs #iframe #документ #программа чтения файлов #Предварительный просмотр

Вопрос:

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

то, что я делаю, это

 <input  id="FileFrame" type="file" ng-file-select="onFileSelect($files)" ng-click="resetInputFile()">
 

В моем контроллере считывается файл как readAsBinaryString

     var fileReaders = new FileReader();
        fileReaders.readAsBinaryString($files[i]);
            var loadFile = function(fileReaders, index) {
            fileReaders.onload = function(e) {
            $timeout(function() {
            $scope.dataUrlss = e.target.resu<
            });
        }
    }(fileReaders, i);
 

Я передаю dataUrlss в iframe, но это не сработает..

 <iframe ng-show="dataUrlss != null" src="about:blank" style="width: 90%; height: 300px" name="internal"></iframe>
 

Спасибо..

Я добавил новый код, например

    var doc = document.getElementById('FileFrame').contentWindow.document;
    doc.open();
    doc.write($scope.dataUrlss);
    doc.close();
 

но он печатается в другом формате.

вывод iframe

Комментарии:

1. Разве вы не должны читать эти файлы, а затем записывать содержимое в iframe вместо того, чтобы назначать его src?

2. спасибо за предложение, я пытался, но в iframe он отображается в формате [файл json], а код имеет вид var doc = cument.getElementById(‘FileFrame’).contentWindow.document; doc.open(); doc.write($scope.dataUrlss); doc.close();

3. @Chinnu: Какие файлы? Текстовые файлы или другие типы?

4. @ExpertSystem Это файлы xlx.

5. @Chinnu: Тогда вы не можете просто просмотреть документ, выводя двоичное содержимое в iframe. Прежде всего, браузер пользователя должен иметь возможность отображать файлы XLSX (на что большинство браузеров не настроены). Я не думаю, что предварительный просмотр документа XLSX будет таким быстрым, как вы надеялись (если это вообще возможно надежным способом).