首先说一下前端代码如何实现文件下载:
有些文件,比如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(""); 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