当前位置: 首页 > 知识库问答 >
问题:

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

柴瀚昂
2023-03-14

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

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

下面是显示文件预览的通用代码。

超文本标记语言代码是:

<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文件,则此代码可以正常工作。任何想法如何显示文档和excel文件的预览?

共有2个答案

锺离锦
2023-03-14

如果您的文件是excel,您可以像这里一样将其读取为JSON,然后选择“与JSON分开”,并将其显示在表中

如果您使用FIleReader()读取它时它是doc,这是javascript中内置的readAsDataURL,即e.target。结果将是一个字符串,所以像前5行一样选择并在div中显示它。

尤俊誉
2023-03-14
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文件,因为浏览器不支持该文件预览。为此,您需要额外的第三方控件才能将该文件呈现到浏览器中。没有数据是不可能的。

 类似资料:
  • 问题内容: 我有一个表格可以 浏览并选择一个文件。 我要做的是在选择图像后立即显示该图像。而且这是在按下表单上的“提交”按钮之前,因此图像几乎可以肯定位于客户端。能做到吗? 问题答案: 干得好: HTML 脚本:

  • 问题内容: 我觉得应该有一个简单的方法来做到这一点,但我不知道。我有一个JFileChooser,它允许用户选择目录。我想显示目录中的所有文件,以便为用户提供一些上下文,但是只应接受目录作为选择(选择文件时可能会禁用“打开”按钮)。有一个简单的方法吗? 问题答案: 重写approveSelection()方法。就像是:

  • 问题内容: 我在更新面板中有一个Ajax异步文件上传控件。我的上传效果很好,但是上传完成后,我需要查看上传的图片。但这不起作用是我所做的 AspCode: 问题答案: 您可以使用事件显示图像。 有关如何显示预览的详细信息,请看以下示例:具有AsyncFileUpload控件的ASP.NET中的AJAX文件上传

  • 问题内容: 如何选择多个文件? 问题答案: 新答案: 在HTML5中,您可以添加属性以选择多个文件。 旧答案: 每个只能选择1个文件。如果要发送多个文件,则必须使用多个输入标签或使用Flash或Silverlight。

  • 点击“添加文件”或“添加 URL”来添加导入源文件。然后,为源文件选择“编码”。 【注意】你可以同时导入多个文件。 ODBC 设置一个 ODBC 数据源连接 安装合适的 ODBC 管理员和文件相关的驱动程序。 在应用程序,选择“工具程式”->“ODBC 管理员”;或在 Navicat 中,在这个步骤点击“ODBC 管理员”按钮。 在“用户数据源名”选项卡点击“添加”按钮。 选择合适的 ODBC 驱

  • 操作步骤: 菜单栏: Navigate —> Select in 快捷键: Mac: Fn + Option + F1 Windows\/Linux: Alt + F1