webform中如何打开指定路径的文件

蜗牛学编程 2021-04-08 10:31:03
问一个小白的问题,在webform中,如何才能打开一个指定路径的文件呢?
我用process.start(path)的方法打开,在本地电脑调试没问题,发布到iis就报错,说什么设置customer为off等莫名其妙的提示。
查了一晚上资料,好像说process.start是在服务器打开文件,如果本地调试,电脑就是服务器,自然不会有问题。但如果不是同一台电脑就会报错了。
很头疼,百度了好久,尝试过多种办法,发现Response.Redirect(相对路径)可以打开,但会先自动下载到本地电脑,不太符合预想要求。
请教各位老师指点哈:
如何才能通过点击webform的键,打开指定路径上的文件。
感谢~
...全文
610 12 打赏 收藏 举报
写回复
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
紫魂一号 2021-04-27
这个是客户端浏览决定的,如果客户端安装了相应的软件,就可以弹出下载框,可以另存可以直接打开。。
  • 打赏
  • 举报
回复
蜗牛学编程 2021-04-17
引用 6 楼 吉普赛的歌 的回复:
分3步吧: 1. 下载到本地; 2. 打开; 3. 关闭时删除本地文件
请教一下,我只能实现第一步,但第二步,让它下载完毕后自动打开,还有第三步,关闭时删除本地文件。这两步怎么实现吗?
  • 打赏
  • 举报
回复
吉普赛的歌 2021-04-17
引用 7 楼 蜗牛学编程 的回复:
[quote=引用 6 楼 吉普赛的歌 的回复:]分3步吧: 1. 下载到本地; 2. 打开; 3. 关闭时删除本地文件
请教一下,我只能实现第一步,但第二步,让它下载完毕后自动打开,还有第三步,关闭时删除本地文件。这两步怎么实现吗?[/quote] 思路还是偏了,修正一下: 1. 用户上传文件到服务器; 2. 程序将用户上传 PPT 转为 PDF或图片,存放到网站上某个目录下,网站上也可以直接访问; 3. 用户查看时,查看的只是 PDF 或图片。 服务器直接查看PPT,这个非常复杂没有必要。
  • 打赏
  • 举报
回复
wanghui0380 2021-04-17
当然你客户也是小白,勾选的自动打开,那就没话说了,是他自己勾选的,浏览器不负责 看下面 http://www.02405.com/soft/windows/2.html https://jingyan.baidu.com/article/5225f26bbe9b04e6fa090896.html 上一个告诉你可以勾选自动打开,下一个是告诉你浏览器自己有内置插件,你也可以外置插件(比如外置epub电子书插件) 所以微软有office365,腾讯还搞腾讯在线文档。其实就是应对网络情况下文档被限,不得已重新开发复合网络的情况的玩意
  • 打赏
  • 举报
回复
wanghui0380 2021-04-17
这么想做黑产么,我知道你肯定说不想,但其实你做的就是这个 1.process那个是因为,要么是你服务器就没有文件,要么就是iis权限不足以打开文件。为啥不给你权限,自然是不让你做黑产。我们谁便上传个文件,然后用process打开那还得了,服务器还有秘密可言么 2.说客户端的看上面的回答
引用
1. 下载到本地; 2. 打开; 3. 关闭时删除本地文件
这不依旧是黑产么,下载一个后门软件,打开,然后偷完东西,删除。所以还是不可以自动完成,需要你的客户手动,为啥非要客户手动?当然还是因为浏览器不会给你权限,自动下载,自动安装,自动打开,自动删除的,你这样搞,谁敢上网?还有秘密可言么 至于什么ppt,那是浏览器识别到mima头知道他是一个安全的,比如你的视频文件,mp4,ogg都可以。所以你想做就用安全的,浏览器认为可以打开的,别弄浏览器不认识的(当然你所谓的不下载是错误的,当然是下载了,只是浏览器认为安全用默认工具打开了)
  • 打赏
  • 举报
回复
hui1202 2021-04-17
引用 7 楼 蜗牛学编程 的回复:
[quote=引用 6 楼 吉普赛的歌 的回复:]分3步吧: 1. 下载到本地; 2. 打开; 3. 关闭时删除本地文件
请教一下,我只能实现第一步,但第二步,让它下载完毕后自动打开,还有第三步,关闭时删除本地文件。这两步怎么实现吗?[/quote] 关闭的时候已经是其他程序的事情,打开如果你是用网页打开那么不需要管,不然都是其他程序操作,你怎么控制打开删除。
  • 打赏
  • 举报
回复
吉普赛的歌 2021-04-16
分3步吧: 1. 下载到本地; 2. 打开; 3. 关闭时删除本地文件
  • 打赏
  • 举报
回复
蜗牛学编程 2021-04-15
引用 4 楼 hui1202 的回复:
你说的ppt他只要是个网络路径就可以打开,并且你都打开了当然是下载到本地了,只是在临时文件或者缓存文件中
嗯,是的,该如何实现它在缓存中打开,关闭后释放缓存呢
  • 打赏
  • 举报
回复
hui1202 2021-04-13
你说的ppt他只要是个网络路径就可以打开,并且你都打开了当然是下载到本地了,只是在临时文件或者缓存文件中
  • 打赏
  • 举报
回复
webform最终在客户端呈现的是html+js和后台代码没有任何关系了。想在客户端打开某个文件,也就是js打开某个文件,大部分都不支持(浏览器行为) 如果是服务器上office文件的话可以使用微软在线文档方式 https://view.officeapps.live.com/op/view.aspx?src=文件的绝对url 把你服务器上文件的访问地址放到src里面就可以直接在浏览器里面打开显示了。 例如https://view.officeapps.live.com/op/view.aspx?src=http://xxx.xx.com/file/1.xls
  • 打赏
  • 举报
回复
蜗牛学编程 2021-04-12
引用 1 楼 hui1202 的回复:
首先打开指定路径只能打开你本地的,服务器是不允许的,你一个webform还想打开服务器的其他路径那不成肉鸡了?
那是否可以让它下载到缓存中再自动打开,就别下载到客户端电脑了。 另外,应该是可以实现的吧,因为实际工作中经常有在网页上打开一个PPT的附件,它就自己在客户端电脑打开了,并没有真正下载下来。就是不知道怎么实现的。
  • 打赏
  • 举报
回复
hui1202 2021-04-12
首先打开指定路径只能打开你本地的,服务器是不允许的,你一个webform还想打开服务器的其他路径那不成肉鸡了?
  • 打赏
  • 举报
回复
发帖
.NET社区

6.0w+

社区成员

.NET技术交流专区
社区管理员
  • ASP.NET
  • R小R
  • 喵叔哟
加入社区
帖子事件
创建了帖子
2021-04-08 10:31
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。