java - 在浏览器中预览本地 html 文件

标签 java javascript html jsf file-upload

我有一个网页,用户可以在其中上传文件。 他可以使用 <t:inputFileUpload> 选择要上传的文件jsf标签。(此标签类似于带有 type="file" 的标准 HTML 输入标签)。

我想添加预览功能。

当用户选择一个文件(例如:html 文件)时,他可以预览他的 html 本地文件。

我知道浏览器的安全限制原因存在“问题”。

我的第一个解决方案是将文件从用户本地计算机加载到服务器,然后在服务器上建立到该文件的链接。问题是我的服务器有风险, 也许这个文件已损坏......

有人对这个 future 有想法和解决方案吗?

最佳答案

这是一个简单的 JSFiddle显示 html 文件的预览。我根据找到的教程创建了它 here .

代码中对您最有用的部分如下

var f = // uploaded file.
var reader = new FileReader();
// Closure to capture the file information.
reader.onload = (function(theFile) {
    return function(e) {
         // Render the file.
         $("#preview").html(e.target.result);
    };
})(f);

// Read in the html file as text.
reader.readAsText(f);

这使用 HTML5 FileReader 读取和显示 html 文件的内容。

关于java - 在浏览器中预览本地 html 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10399023/

相关文章:

javascript - 如何在ember js中保存嵌套对象

javascript - 使用 JavaScript 获取元素的自定义 css 属性 (-mystyle)

javascript - ImagesLoaded with Masonry, Object #<Object> 没有方法 'imagesLoaded'

javascript - 改变 richselect 的输入颜色

java - 将值设置为模拟对象但得到 null

java - 以编程方式将 POJO 转换为 @Configuration Spring

java - 如何保存请求之间的链接名称?

html - 如何按比例缩放 SVG 背景图像以使其始终为页脚 div 的全宽?

javascript - 投资组合页面 --- 如何向下移动到下一行

java - ASCII 表中缺少字符 - Java