C#网页link直接打开文件

问题描述

如题,用C#写网页,点击图片或文字link到一个office或pdf文件,然后直接调用pc里的软件打开,而不是跳出save的对话框,代码该如何实现?

解决方案

解决方案二:
在安装Office2003以后,有一个ActiveX控件被安装到了系统中,这个控件位于“ProgramFilesMicrosoftOfficeOFFICE11owssupp.dll”。通过这个控件,客户端页面上的JavaScript就可以激活本地的Office软件,来实现打开、编辑Office文档。(另,OfficeXP应该就已经包含这个ActiveX控件了。)首先,用Script创建一个本地的对象:openDocObj=newActiveXObject("SharePoint.OpenDocuments.2");//为了兼容OfficeXP,可以创建“SharePoint.OpenDocuments.1”然后,调用openDocObj的相应的方法。比如打开服务器上的一个Office文档:openDocObj.ViewDocument("http://www.abc.com/documents/sample.doc");openDocObj对象会根据参数中不同的Office文档类型(.doc、.xls、.ppt)来打开不同的程序(Word、Excel、PowerPoint)。ViewDocument()方法还有一个重载签名,可以让我们手工指定激活哪个程序来打开文档:openDocObj.ViewDocument("http://www.abc.com/documents/sample.doc",要激活的程序的ProgID);那么要打开Office程序在线编辑文件又如何?openDocObj.EditDocument("http://www.abc.com/documents/sample.doc");就可以直接激活Word,在Word里面编辑文档,然后直接点击Word里面的保存功能,就可以将文件保存会服务器上了。注意:为了让Word能将编辑后的文档直接保存会服务器,访问Web站点的当前上下文的WindowsIdentity必须对服务器的相应目录(即“http://www.abc.com/documents”这个虚拟目录所对应的服务器上的物理路径)有相应的写权限,否则保存动作会失败。编辑完成后,EditDocument()会返回一个bool值,来反映编辑操作是否成功。我们还可以通过打开服务器上的一个文档模版,来创建一个新的文档:openDocObj.CreateNewDocument("http://www.abc.com/documents/sampleTemplate.dot","http://www.abc.com/documents/");就可以使用“http://www.abc.com/documents/sampleTemplate.dot”这个模版来创建一个新的文档,默认新文档的保存地点是“http://www.abc.com/documents/”。创建新文档时使用的程序取决于模版文件的类型(比如.dot模版会对应Word)。新文档的保存同样需要注意权限问题。CreateNewDocument()方法同样会返回一个bool值来反映操作是否成功。CreateNewDocument()方法的第一个参数,除了可以使用一个模版的地址外,还可以直接指定为希望用来创建新文档的客户端程序的ProgID。
解决方案三:
privatevoidwebBrowser1_Navigating(objectsender,WebBrowserNavigatingEventArgse){if(Path.GetExtension(e.Url.ToString())==".pdf"){//TODOe.Cancel=true;}}

解决方案四:
privatevoidwebBrowser1_Navigating(objectsender,WebBrowserNavigatingEventArgse){if(Path.GetExtension(e.Url.ToString())==".pdf"){//TODOe.Cancel=true;}}

解决方案五:
privatevoidwebBrowser1_Navigating(objectsender,WebBrowserNavigatingEventArgse){if(Path.GetExtension(e.Url.ToString())==".pdf"){//TODOe.Cancel=true;}}

时间: 2024-09-20 09:33:13

C#网页link直接打开文件的相关文章

vc++-LINK : fatal error LNK1104: 无法打开文件“dxerr.lib”

问题描述 LINK : fatal error LNK1104: 无法打开文件"dxerr.lib" 大神们求救啊!我在安装了DirectX的EmptyProject之后,编译时出现LINK : fatal error LNK1104: 无法打开文件"dxerr.lib"这个东西,在包含Include文件夹和Lib文件夹之后编译还是出现这个东东,你们说我该怎么办?拜托了! 解决方案 http://www.cnblogs.com/hyfemma/archive/201

在qtcreator下出现LINK : fatal error LNK1104: 无法打开文件“opencv_core.lib”

问题描述 在qtcreator下出现LINK : fatal error LNK1104: 无法打开文件"opencv_core.lib" 在网上找了好多解决方法都没能把问题解决~在debug下出现这种问题,查看qtcreator的opencv配置也没有什么问题啊 配置添加如下: INCLUDEPATH+=D:OpenCVopencvbuildincludeopencv2 D:OpenCVopencvbuildincludeopencv D:OpenCVopencvbuildinclu

最新 Chrome 可让本地文件在网页应用中打开

谷歌正在 Canary 版本的 Chrome 浏览器中测试新功能,允许 Mac OS X 用户在 Chrome 网页应用中打开 Finder 中的文件.我们可以从下面的图片中看到, Chrome 网页应用 Text 可以直接像原生文本编辑应用那样打开本地文件,就像网页应用 Text 也是原生 OS X 应用一样.谷歌希望新功能可以让 Chrome 网页应用的体验更顺滑,并支持本地文件管理.目前,该功能只能在 Canary 版 Chrome 浏览器中通过chrome://flags/#enable

html5-js实现鼠标拖拽div块释放鼠标打开文件

问题描述 js实现鼠标拖拽div块释放鼠标打开文件 左边一列导航栏,右面有个大的div块,想实现在导航栏中拖动div块到中间的div块中.鼠标将目标拖动到div中**释放鼠标打开导航栏的链接**应该怎么写?新手小白在网上找了一些东西 看不懂这是我改后的代码 拖动放到此处 $(document).ready(function(){ $(""#firstpane .menu_body:eq(0)"").show(); $(""#firstpane p

JAVA swing 打开文件显示文件处于锁定状态,只能只读查看,

问题描述 JAVA swing 打开文件显示文件处于锁定状态,只能只读查看, 文件里的数据是我自己写进去的,我把写文件的方法和打开文件的java.awt.Desktop.getDesktop().open(file)放在同一个按钮点击事件里,点击按钮生成文件后打开文件就不能编辑只能读,但是只用main函数测试就可以编辑,这是为什么呀 解决方案 http://zhidao.baidu.com/link?url=0SohZvZmA_JGCxmy83A8GvOGHL9RjG9dVVfJtQF4xgFG

打开文件夹出现空白的解决方法

打开文件夹出现空白,但实际上是含有内容的,在状态栏上仍然可以看到该文件夹内的对象数,和空间占用大小.出现此故障的原因有几种,这里说三个: 1.设置问题,造成原因不明,可能是病毒或其它什么系统故障.解决方法:控制面板-文件夹选项-文件类型,在"已注册的文件类型"列表下找到"文件夹"并选中它,单击"高级"按钮,在出现的"编辑文件类型"对话框中,如果只有"find"一项,则在"操作"下点击&q

alts lib-无法打开文件“alts.lib”,哪里可以下载这个库文件?

问题描述 无法打开文件"alts.lib",哪里可以下载这个库文件? 如题:编译时出现 LINK : fatal error LNK1104:无法打开文件"alts.lib" 自己电脑上没有这个文件,请问哪里可以下载到?ps:VC6编写的程序,编译连接无误,放到VC6.0绿色版和 VS3013 ultimate调试时均出现上述错误.我是新手,请指教 解决方案 不要直接不同版本间调试,你应该到其它编译器版本中先重新编译,然后再调试.

域名-如何在网页中运行.php文件?

问题描述 如何在网页中运行.php文件? 新人提个问.... 很白痴... 域名里输入的那种,没弄明白... 求告知. 解决方案 php文件不像html文件,不能直接打开的,你应该先有环境,可以用wamp等集成包,然后地址里写http://localhost,回车,就可以看到你的文件了,如果localhost不行,就用127.0.0.1 解决方案二: http:localhost加php文件名 解决方案三: 直接访问查找本地的php文件 解决方案四: 你先进行php开发环境的配置,建议用apps

输入输出流-vs2013 fstream 无法打开文件

问题描述 vs2013 fstream 无法打开文件 include //# include include using namespace std; class student { public: int num; char name[20]; float score; }; int main() { student std[5] = { 1001, "Li", 85, 1002, "Fun", 97.5, 1004, "Wang", 54,