用html编写一个静态页面 实现以下功能:①同时上传多个pdf或者doc或者docx文件②可以预览上传的文件内容③可以下载上传的文件

时间: 2024-03-21 17:41:32 浏览: 19
以下是一个简单的 HTML 页面,实现了上传多个 PDF、DOC 或 DOCX 文件,预览文件和下载文件的功能: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>多文件上传和下载示例</title> </head> <body> <h1>多文件上传和下载示例</h1> <form> <input type="file" id="fileInput" name="files[]" multiple accept=".pdf,.doc,.docx"> <button type="button" onclick="previewFiles()">预览文件</button> <button type="button" onclick="downloadFiles()">下载文件</button> </form> <hr> <h2>文件预览区域</h2> <div id="filePreview"></div> <script> // 预览文件 function previewFiles() { const fileInput = document.getElementById('fileInput'); const files = fileInput.files; const filePreview = document.getElementById('filePreview'); filePreview.innerHTML = ''; for (let i = 0; i < files.length; i++) { const file = files[i]; if (file) { const reader = new FileReader(); reader.onload = function(e) { const preview = document.createElement('div'); const fileName = document.createElement('h3'); fileName.innerText = file.name; const fileContent = document.createElement('pre'); fileContent.innerText = e.target.result; preview.appendChild(fileName); preview.appendChild(fileContent); filePreview.appendChild(preview); } reader.readAsText(file); } } } // 下载文件 function downloadFiles() { const fileInput = document.getElementById('fileInput'); const files = fileInput.files; for (let i = 0; i < files.length; i++) { const file = files[i]; if (file) { const link = document.createElement('a'); link.href = window.URL.createObjectURL(file); link.download = file.name; document.body.appendChild(link); link.click(); document.body.removeChild(link); } } } </script> </body> </html> ``` 在上面的代码中,我们首先创建了一个表单,其中包含一个用于上传多个文件的 input 元素和两个用于预览和下载文件的按钮。当用户选择了文件后,可以通过 JavaScript 来获取文件对象数组,并且使用 FileReader 对象来读取每个文件的内容并在预览区域显示。当用户点击下载文件按钮时,我们可以通过 URL.createObjectURL 方法来生成一个下载链接,并且设置 download 属性来指定文件名,然后通过创建一个虚拟的 a 元素,模拟用户点击下载链接的操作。这里需要注意的是,由于我们使用了 multiple 属性,所以上传的文件数组可以通过 name 属性来获取。同时,我们也限制了文件的类型,只允许上传 PDF、DOC 或 DOCX 文件。

最新推荐

recommend-type

使用acrobat创建PDF时,不支持docx、doc等Microsoft Office文件时的解决方法.docx

使用acrobat创建PDF时,不支持docx、doc等Microsoft Office文件时的解决方法
recommend-type

基于Python获取docx/doc文件内容代码解析

主要介绍了基于Python获取docx/doc文件内容代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
recommend-type

pdf.js在java web项目中远程预览ftp上的pdf文件.docx

看了很多大神的博客,自己改造了下,终于做出了可以在线预览远程FTP服务器上的PDF文件的功能。大概花了1天时间,遇到很多坑。所以总结下,写了个文档,很详细,一步一步来就行了
recommend-type

C#编程读取文档Doc、Docx及Pdf内容的方法

主要介绍了C#编程读取文档Doc、Docx及Pdf内容的方法,涉及C#操作COM组件读取Doc、Docx及Pdf文档的相关技巧,需要的朋友可以参考下
recommend-type

JAVA通过HttpURLConnection 上传和下载文件的方法

主要介绍了JAVA通过HttpURLConnection 上传和下载文件的方法,非常具有实用价值,需要的朋友可以参考下
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

MATLAB图像处理算法宝典:从理论到实战

![MATLAB图像处理算法宝典:从理论到实战](https://img-blog.csdnimg.cn/20200717112736401.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2d1emhhbzk5MDE=,size_16,color_FFFFFF,t_70) # 1. MATLAB图像处理基础理论 MATLAB图像处理是一种利用MATLAB编程语言进行图像处理的强大工具。它提供了丰富的函数和工具箱,用于图像获取、增强、分
recommend-type

matlab中1/x的非线性规划

在MATLAB中,可以使用非线性规划函数(`fmincon`)来优化一个包含1/x的非线性目标函数。下面是一个简单的例子: ```matlab % 定义目标函数 fun = @(x) 1/x; % 定义约束函数(这里没有约束) nonlcon = []; % 定义初始点 x0 = 1; % 定义优化选项 options = optimoptions('fmincon', 'Display', 'iter'); % 进行非线性规划 [x, fval] = fmincon(fun, x0, [], [], [], [], [], [], nonlcon, options); ``` 在
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。