我正在尝试创建一个文件/文件夹查看器并下载到我将在网页上显示网络共享目录的位置,它将显示共享的所有内容。如果文件是pdf或xls或doc,则将下载,如果其HTML,则将在页面上的iFrame中显示。
我已经完成了第一件事(下载文件),但是无法完成第二部分。在iFrame中显示HTML文件。
当我单击HTML文件时,它会像其他文件一样下载,并且我不确定如何不下载HTML而是显示在屏幕上。
这个想法是将目录显示为KB,其中放置了FAQ文档或页面。
这是我的下载代码。
JavaScript
$('#container_id').fileTree({
root: '<network path to load files from>',
expandSpeed: 1000,
collapseSpeed: 1000,
multiFolder: true
}, function(file) {
$("#iframe").attr("src", "/dl.aspx?file=" + file);
$('#iframe').load();
});
HTML
<div class="example">
<h2>File List</h2>
<div id="container_id" class="demo"></div>
<iframe id="iframe" style="display:none;"></iframe>
</div>
CS
if (Request.QueryString["file"] != null)
{
string actualFilePath = Request.QueryString["file"].ToString();
HttpContext.Current.Response.ContentType = "APPLICATION/OCTET-STREAM";
string filename = Path.GetFileName(actualFilePath);
String Header = "Attachment; Filename=" + filename;
HttpContext.Current.Response.AppendHeader("Content-Disposition", Header);
HttpContext.Current.Response.WriteFile(actualFilePath);
HttpContext.Current.Response.End();
}
答案 0 :(得分:0)
也许您根本没有将此$("#iframe").attr("src", "/dl.aspx?file=" + file);
用于HTML文件。这样,您可以将dl.aspx
文件称为“想要”下载文件。
相反,请检查一下:
如果文件是<> HTML,则执行$("#iframe").attr("src", "/dl.aspx?file=" + file);
如果= HTML执行$("#iframe").attr("src", "file_path/my-html-file.html");