用c#在客户端打开服务器上的文件

min10 2008-12-05 02:17:41
我现在有一个网页,上面有个文件列表,当用户点击某一个文件名旁边的打开按钮时,就调用合适的程序打开相应的文件。比如文件是一个Excel文件,那就用能打开Excel文件的程序把它打开。文件是存在服务器上的某一个目录里,文件不允许客户下载,只能打开浏览。请教各位!
...全文
305 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
min10 2008-12-05
  • 打赏
  • 举报
回复
只要是能用相应的程序把文件打开就行了,像您说的先把文件放在缓存里我觉得挺好的,能否给个实现的例子呢?
jinjazz 2008-12-05
  • 打赏
  • 举报
回复
你的打开只的是怎么打开?要打开肯定要下载的,你看pdf文件也是先下载到ie缓存目录中的。你这个需求就不适合用excel来做了,应该把数据都导入到数据库中去,然后用web页面展示数据。有合适权限可以下载数据。
min10 2008-12-05
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 jinjazz 的回复:]
在3楼的代码中判断权限
[/Quote]
能说的具体一些吗,比如我现在有一个字段叫CanDownLoad,如果这个字段的值等于“Y”,就允许下载,如果等与“N”,就只能打开,我现在就是打开的不明白改如何做。
jinjazz 2008-12-05
  • 打赏
  • 举报
回复
在3楼的代码中判断权限
min10 2008-12-05
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 jinjazz 的回复:]
写一个代理页面,把文件类型加在http头里面客户端就可以下载并打开了。
[/Quote]
我原来是这样实现的,可现在客户有新的需求,要求有一下文档不能下载,只能查看
jinjazz 2008-12-05
  • 打赏
  • 举报
回复
protected void Page_Load(object sender, EventArgs e)
{
Response.ClearContent();
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment;FileName=aa.xlsx");
Response.TransmitFile(@"e:\aa.xlsx");
}
jinjazz 2008-12-05
  • 打赏
  • 举报
回复
写一个代理页面,把文件类型加在http头里面客户端就可以下载并打开了。
anncesky 2008-12-05
  • 打赏
  • 举报
回复
只能先下载,不下载你就想拿服务器的文件????

如果非要不下载,你只能在服务器端读取这写文件,再以HTML形式到客户端

62,269

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

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

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

试试用AI创作助手写篇文章吧