首页 > 代码库 > 文件下载与文件对比

文件下载与文件对比

首先说一下前端代码如何实现文件下载:   

    <a href=http://www.mamicode.com/"Template.xlsx">模板文件下载</a>

有些文件,比如exe,xls,zip文件等,浏览器会弹出保存文件的提示框;有些文件如txt,img文件等,浏览器则是直接打开,各种浏览器对其处理的方式也有不同。

C#后台实现文件下载的代码

 1  protected void btnDown_Click(object sender, EventArgs e)
 2     {
 3         string filename = Server.MapPath("文件路径");
 4         if (!File.Exists(filename))
 5         {
 6             Response.Write("<script>alert(‘文件不存在‘);</script>");
 7             return;
 8         }
 9         Response.ContentType = "application/x-zip-compressed";
10         Response.AddHeader("Content-Disposition", "attachment;filename=" + Request.QueryString["SOURCE_NC"]);
11         Response.TransmitFile(filename);
12         Response.End();
13     }

文件对比:

使用javascript运行本地可执行文件:(仅限IE浏览器)

 new ActiveXObject("Wscript.Shell").run("D:\\BeyondCompare.exe");

文件对比工具可以传参:(仅限IE浏览器)

//para1:运行软件的路径,para2:无效,para3:第一个对比文件,para4:第二个对比文件
new ActiveXObject("Wscript.Shell").run( "D:\\BeyondCompare.exe D:\\1.txt D:\\comp1.txt D:\\comp1.txt");

有时浏览器可能没有反应,可以用try catch来捕获异常信息

1     try {
2          new ActiveXObject("Wscript.Shell").run("D:\\BeyondCompare.exe D:\\1.txt D:\\comp1.txt D:\\comp1.txt");
3     }
4     catch (e) {
5           alert(e.message); 
6     }

可能检测到IE设置问题:

1.打开Internet选项-安全-自定义级别
2.把ActiveX控件和插件,下面的Activex全部修改为"启用"

OK

 

文件下载与文件对比