#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();
но он печатается в другом формате.
Комментарии:
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 будет таким быстрым, как вы надеялись (если это вообще возможно надежным способом).