网页端调用当地应用打开当地文件(PDF、Word、excel、PPT) ...

打印 上一主题 下一主题

主题 1479|帖子 1479|积分 4447

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
一、配景原因

        根据欣赏器的安全计谋,在网页端无法直接打开当地文件,所以必要开发者曲线救国。
二、实现步调

        前期预备:
                确保已安装好可以打开文件的应用软件,如,WPS;
                把要打开的文件统一放在一个文件夹,如,在D盘创建文件夹【文件夹名】。

1. 创建Windows应用程序—callexe
  1. namespace callexe
  2. {
  3.     static class Program
  4.     {
  5.         /// <summary>
  6.         /// 应用程序的主入口点。
  7.         /// </summary>
  8.         [STAThread]
  9.         static void Main(string[] args)
  10.         {
  11.             Application.EnableVisualStyles();
  12.             Application.SetCompatibleTextRenderingDefault(false);
  13.             string strNew = args[0].Substring(10);
  14.             string utoSs = System.Web.HttpUtility.UrlDecode(strNew);
  15.             // 直接打开目录
  16.             string v_OpenFolderPath1 = @"D:/文件夹名/";
  17.             string v_OpenFolderPath = string.Concat(v_OpenFolderPath1, utoSs);
  18.             // 直接打开指定的文件
  19.             System.Diagnostics.Process.Start(v_OpenFolderPath);
  20.             Application.Exit();
  21.         }
  22.    }
  23. }
复制代码
2. 创建openfile.reg文件。
    为了方便编辑文件,先创建openfile.txt文件,编辑完成后修改文件后缀为.reg,然后双击打开。
   .reg:windows操作系统的注册表脚本文件。
   创建open-exe文件夹并放在D盘,把callexe文件和openfile.reg放在open-exe内里。
  1. Windows Registry Editor Version 5.00
  2. [HKEY_CLASSES_ROOT\OPENFILE]
  3. @="URL:OPENFILE"
  4. "URL Protocol"="D:\\open-exe\\callexe\\bin\\Debug\\callexe.exe"
  5. [HKEY_CLASSES_ROOT\OPENFILE\DefaultIcon]
  6. @="D:\\open-exe\\callexe\\bin\\Debug\\callexe.exe,1"
  7. [HKEY_CLASSES_ROOT\OPENFILE\shell]
  8. [HKEY_CLASSES_ROOT\OPENFILE\shell\open]
  9. [HKEY_CLASSES_ROOT\OPENFILE\shell\open\command]
  10. @="D:\\open-exe\\callexe\\bin\\Debug\\callexe.exe %1"
复制代码
3. 在前端调用
  1. window.open("crealife1:xxx.pdf");
复制代码
详细原理以后慢慢增补。





免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

来自云龙湖轮廓分明的月亮

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表