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

lol*_*olo 4 html javascript java jsf file-upload

我有一个用户可以上传文件的网页.他可以选择要使用<t:inputFileUpload> jsf标记上传的文件.(此标记与标准HTML输入标记一样type="file").

我想添加预览功能.

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

我知道浏览器的安全限制原因存在"问题".

我的第一个解决方案是将文件从用户本地计算机加载到服务器,然后在服务器上创建指向该文件的链接.问题是我的服务器存在风险,可能此文件已损坏...

有人对这个未来有一个想法和解决方案吗?

Bra*_*sen 5

这是一个简单的JSFiddle,它显示了html文件的预览.我是从这里找到的教程创建的.

代码中最有用的部分如下

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);
Run Code Online (Sandbox Code Playgroud)

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