javascript - 选择文件后如何显示文件预览?

标签 javascript jquery html

我有上传文件按钮,我可以从那里上传图片、文档、pdf 文件和 excel。我想显示这些选定文件的预览。

我能够显示图像和 PDF 文件的预览,但是如果文件是 doc 或 excel 文件,我不知道如何显示预览。

这是我显示文件预览的通用代码。

HTML 代码是:

<input type="file" name="medical_doc" multiple="multiple" onchange="PreviewDocument('wildlife');" id="preview_animal_doc_wildlife">

JS代码为:

function PreviewDocument(type) {
    var outerDiv = document.createElement("DIV");
    outerDiv.setAttribute("class", 'col-md-2 document-col');
    outerDiv.setAttribute("id", 'append_animal_doc_preview_div');

    var outerImage = document.createElement("EMBED");
    outerImage.setAttribute("class", 'img-doc');
    outerImage.setAttribute("src",  e.target.result);

    outerDiv.appendChild(outerImage);

}

如果选择的文件是 PDF 和/或图像,此代码可以正常工作,但不适用于 doc 或 excel 文件。知道如何显示 doc 和 excel 文件的预览吗?

最佳答案

function ReadURL(input) {
 if (input.files && input.files[0]) {
   var reader = new FileReader();
   reader.onload = function(e) {
     $('#imgFile').attr('src', e.target.result);
    }
   reader.readAsDataURL(input.files[0]);
   }
 }
 $(document).ready(function(){
 $("#imgInp").change(function() {
  ReadURL(this);
 });});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="form1" runat="server">
    <input type='file' id="imgInp" />
    <img id="imgFile" src="#" alt="your image" />
</form>

您无法显示 excel 和 doc 文件,因为浏览器不支持该文件预览,您需要额外的第三方控制才能将该文件呈现到您的浏览器中。没有数据是不可能的。

关于javascript - 选择文件后如何显示文件预览?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52696008/

相关文章:

javascript - react 数据拉取不起作用

javascript - jQuery 数组乘法

javascript - Foundation 的 4 种表单下拉样式在 IE8 及以下版本中缺失

javascript - 在 jquery 中更改 img 标签的类名

javascript - 如何在 React 中获取数据属性?

javascript - 自定义确认弹出窗口无法正常工作

php - 为什么这个 Dojo 代码不与其 PHP 文件通信?

javascript - Devtools 正在控制台中打印一些奇怪的数字?

javascript - 使用 youtube api 嵌入多个 iframe

javascript - 如何在隐藏时加载 HTML <object> SVG