请教 .net C# JS  下怎么直接打开本地文件?就像双击个doc文件效果一样。要能支持多种格式至少是doc  xls  ppt  pdf 之类常用的,在线等

解决方案 »

  1.   

    JS直接打开 好像不行吧 window.open();
    window.location.href=
      

  2.   

    举个例子:选中一条记录,点一个查看的按钮,查看这条记录对应 的正文信息,正文是放在本地硬盘上的,正文格式有可以是 doc xls txt fpt 一些常见格式,想问下怎么打开,在网页里也行,直接打开文件就像双击效果那样也行,只要能打开就好谢谢各位大虾。。
      

  3.   

    http://topic.csdn.net/u/20090430/00/8d5053b2-6ef9-443e-addc-f5a444909b52.html
      

  4.   

    直接链接到地址。让IE自己判断例如:打开一个 :http://网站/upload/a.doc
    这样IE会自动找word打开的。
      

  5.   

    eg:
                System.Diagnostics.Process.Start("d:\\test.txt");
      

  6.   

    Peter 兄弟可否详细点哈,我看你的貌似有戏
      

  7.   

    System.Diagnostics.Process.Start("d:\\test.txt");
    System.Diagnostics.Process.Start("d:\\100道趣题.pdf");System.Diagnostics.Process.Start(str);
    str是你的文件(包括路径),运行这条语句就可以打开文件了。(至少我试的txt,pdf可以打开)
      

  8.   

    我试了下,但是不能在客户端打开,只能在服务器端打开,可以怎么设置么?文件是保存在服务器硬盘上的,想在客户端打开。System.Diagnostics.Process.Start(str)  只能在服务器上打开继续请教。。
      

  9.   

    试试:
    eg:
    打开excel
    Response.ContentType="application/x-msexcel";   
    Response.WriteFile(@"C:\test.xls");  
     
    打开word
    Response.ContentType="application/x-msword";   
    Response.WriteFile(@"C:\test.doc"); 
      

  10.   

    试过,这样IE会直接提示下载,我是想不让他提示任何东西,直接就打开。顺便请教下在提示下载的“打开、保存、取消”那个IE的界面里下面有个“打开此类文件前总是提示”的复选框,默认打勾的,我把勾去掉后就能直接打开了。但是不知道在哪再把勾打上,看不到那个提示的界面 了,他会直接打开,不给你打勾的机会了。。
      

  11.   

    如果用JS 可以控制到的话我可以先给勾去掉,在打开完后再给打上,不知道JS 怎么设置
      

  12.   

    swalp 兄:能稍微详细点嘛?或者给个小例子啥的哈这好像有戏。。
      

  13.   


        public string myCmd(string myCommon)
        {
            Process process = new Process();
            process.StartInfo.FileName = "cmd.exe";
            process.StartInfo.UseShellExecute = false;
            process.StartInfo.RedirectStandardInput = true;
            process.StartInfo.RedirectStandardOutput = true;
            process.StartInfo.RedirectStandardError = true;
            process.StartInfo.CreateNoWindow = true;
            process.Start();
            process.StandardInput.WriteLine(myCommon);
            process.StandardInput.WriteLine("exit");
            string myResult = process.StandardOutput.ReadToEnd();
            process.Close();
            return myResult;
        }
    试了,本地调试可以的,放IIS客户端就一直死在那了
    继续请教
      

  14.   

    可以用cmd,shell么?
    //服务器不可能调运客户端的程序你是要点击后直接打开,什么提示都没有的?
      

  15.   

    对的没提示,然后进度条就一直跑也就死那了,打不开了21楼的兄弟:下载后查看的话用js么?new 那对像时如果ie安全不设的话是new不出来的不知道还有什么高招能打开客气端的文件,继续请教
      

  16.   

    想到个东西,百度文库里页面中的文档全是pdf的 ,那个有没有高手清楚是怎么实现的?打开时可以把别的格式的文件也用pdf打开么?就像这个http://wenku.baidu.com/view/65897421af45b307e87197e4.html知道的大虾们赐教哈。。
      

  17.   

     string str = " <iframe src=\"地址" width=\"700\" id=\"bobo\" height=\"500\" ></iframe>";
    用这样的方式,就不会弹出下载框了。
      

  18.   

    <SCRIPT   language=JavaScript>   
      function   Run(strPath)   {   
      exe.value=strPath;   
      try   {   
      var   objShell   =   new   ActiveXObject("wscript.shell");   
      objShell.Run(strPath);   
      objShell   =   null;   
      }   
      catch   (e){alert('找不到文件"'+strPath+'"(或它的组件之一)。请确定路径和文件名是否正确,而且所需的库文件均可用。')   
        
      }   
      }   
      </SCRIPT>   
        
      请输入要运行的程序:<br><input   name=exe   type=text   size=20   value="regedit"><BUTTON   class=button   onclick="Run(exe.value)">确定</BUTTON><BUTTON   class=button   onclick=exe.value="";>重新输入</BUTTON><br>   
      <BUTTON   class=button   onclick="Run('notepad')">记事本</BUTTON><br>   
      <BUTTON   class=button   onclick="Run('mspaint')">画图板</BUTTON><br>   
      <BUTTON   class=button   onclick="Run('calc')">计算器</BUTTON><br>   
      <BUTTON   class=button   onclick="Run('cmd')">cmd</BUTTON><br>   
      <BUTTON   class=button   onclick="Run('Regedit')">Regedit</BUTTON><br>   
      <BUTTON   class=button   onclick="Run('Msconfig')">Msconfig</BUTTON><br>   
      <BUTTON   class=button   onclick="Run('file:///D:/Program%20Files/Winamp/WINAMP.EXE')">WINAMP</BUTTON><br>   
      <BUTTON   class=button   onclick="Run('IEXPLORE.EXE')">IE</BUTTON><br>   
      <BUTTON   class=button   onclick="Run('..')">..</BUTTON><br>   
      <BUTTON   class=button   onclick="Run('%windir%')">%windir%</BUTTON><br>   
      <BUTTON   class=button   onclick="Run('%temp%')">%temp%</BUTTON><br>   
      <BUTTON   class=button   onclick="Run('file:///D:/Program%20Files/Tencent/qq.EXE')">WINAMP</BUTTON> JS打开文件,来源于网络
      

  19.   

     liuhelong:请教下:    var   objShell = new ActiveXObject("wscript.shell");   这句new 不了,报个“Automation server can't create object”  服务器不能创建对像 怎么搞?
      

  20.   

    哦,我知道了IE的安全东西要设下但是不能让每个用户都设下啊?怎么能用JS偷偷的给他设好啊?继续请教
      

  21.   

    还是不行,它只能打开本地文件,我想打开服务器上的文件要怎么写路径?
      <BUTTON   class=button   onclick="Run('file:///192.168.1.35/11.doc')">WINAMP11</BUTTON> 
      

  22.   

    补充下:一个号只能连续回复三次,baobingbing = caoys316
      

  23.   

    如果你是想打开客户端的文件,不用试了,除了利用系统漏洞没有别的办法,用C#等服务器端语言一定打不开,因为他在服务器上执行,用JS一定被普通用户拦截,因为如果通过JS可以打开本地文件 早就世界大乱了,随便搞个病毒脚本啥的通过浏览网页就能打开多恐怖啊,所以办法是 通知你的客户做相应的IE设置 或者写客户端控件,让客户先安装控件后操作!
      

  24.   

    var objShell = new ActiveXObject("wscript.shell");  这个不行是因为服务器可能没有安装脚本组件。即便行,你也不能拿他打开客户端的文件、
      

  25.   

    CODE163: 那我想在线打开服务器上的文件,要怎么实现?不可以让用户下载,只能打开。还要支持常用格式的文档,请教下...给小弟支支招
      

  26.   

    LZ这是不可能的,B/S就是B/S,跟C/S是不同的
    一个B/S的程序要是能打开你电脑上的文件,你想想安全何在啊
      

  27.   

    要打开你站点下的文件的话,
    可以设置Response的contentType为相应的type
    resonse写到页面ps:contentType类型
    http://homepage.yesky.com/241/2678241.shtml
      

  28.   

    mzmxchenweij:能不能贴点代码哈,我不太清楚你的意思哈
      

  29.   

    用外部控件吧,dsoframer.ocx或者点聚的weboffice可以支持在线打开office文档 pdf
      

  30.   


    鬼哥:这个我试过,貌似只能打开office 的文档,不知道是我写的不对还是什么,怎么打开pdf的哈?
      

  31.   

    点聚的weboffice 看名字应该是office 和pdt 的文档都OK的了?免费的?
      

  32.   

    JS 下怎么直接打开本地文件1。因为安全原因js不允许直接与本地文件交互。(当然病毒,网马除外)
    2。可以借用控件,比如autovue控件。不过嘛这类控件比较特殊,属于小众群体的控件,所以你的客户愿不愿意装又是一个问题
      

  33.   

    autovue相关说明
    http://www.evget.com/zh-CN/product/1503/feature.aspx
      

  34.   

    这个是操作服务端的。
    用CS还可以。BS没那权限。
    这个是需要服务器支持的,
    然后就是第三方控件打开。
    比如邮箱就有这个功能,豆瓣网可以在线阅读pdf等。
      

  35.   

    打开图片是哪个方法?
    就像这个方法是打开文件一样的方法 System.Diagnostics.Process.Start(ur);
    我qq 296756750  有知道的告诉我下 谢谢