如何显示所选文档的预览

时间:2014-06-23 09:14:31

标签: angularjs file iframe filereader preview

如何显示文档的预览。 readasDataUrl是否也适用于预览.pdf,.xls文件?

var reader = new FileReader();
    reader.readAsDataURL($files[i]);
    reader.onload = function (loadEvent) {
    $scope.$apply(function () {
       $scope.dataUrlss = loadEvent.target.result;
    });
};

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

我的iframe代码是

 <iframe id="FileFrame" src="about:blank" style="height: 900px; width: 700px;"></iframe>

该解决方案对我没有用.Plz帮帮我。谢谢提前......

1 个答案:

答案 0 :(得分:3)

这有效(fiddle):

var reader = new FileReader();

reader.addEventListener("load", function (event) {

    var div = document.createElement("div");
    div.innerHTML
        = '<object data="' 
        + reader.result 
        + '" type="'+file.type+'">' 
        + '<embed src="' 
        + reader.result 
        + '" type="'+file.type+'" />' 
        + '</object>';
        output.insertBefore(div, null);

});

//Read the file
reader.readAsDataURL(file);

部分代码,看完整件事的小提琴。我没有把它放在角度或iframe,但问题是既没有技术,它是插入的方式。这可以很容易地修改以适用于两者。某些文档类型(如xls或xlsx)可能需要额外的工作,或者可能根本无法嵌入。