现在做的项目有这么一个需求,在a页面有个显示了多个文件名的链接文本,点击该文件名弹出一个新页面。新页面中判断打开文件的类型,如果是图片则直接在页面中显示图片,如果是excel文件或word文件,则调用office打开该文件,这怎么实现?
本人是初学者,以前没做过类似功能,请各位高手解答下解决思路。 是否应该是在客户端调用该office组件(js)?如果是该如何调用,客户端是如何知道打开的文件类型是excel文件或word文件而调用相应组件(难道是将文件物理路径存在隐藏域中,然后用js判断改隐藏域的值然后判断)? 谢谢!!
本人是初学者,以前没做过类似功能,请各位高手解答下解决思路。 是否应该是在客户端调用该office组件(js)?如果是该如何调用,客户端是如何知道打开的文件类型是excel文件或word文件而调用相应组件(难道是将文件物理路径存在隐藏域中,然后用js判断改隐藏域的值然后判断)? 谢谢!!
解决方案 »
- JS给文本框赋值后如何触发此文本框的脚本
- 未能找到路径“c:\windows\system32\inetsrv\NFSWeb\newProducts”的一部分
- C#.net,asp.net 下 Ajax的CollapsiblePanelExtender问题
- GridView双层表头应该怎么做?
- 创建控件时出错
- 求ASP。NET的经验
- 关于搜索的问题,大家给点建议和意见,给点思路就给分哦..
- 谁的女朋友叫七七?
- DataGrid中使用动态模板文件时DataBind.Eval的出错问题:(
- 如何将数据集导出到客户端,格式是DBF或者EXCL
- 请教一个关于UnitOfWork的问题,小弟不胜感激
- IIS 设置了Gzip后为什么不起作用呢,静态的、非静态的一个都不压缩
额。。这么简单?这个方法是否是office另外打开的?我要的是嵌入到页面中的,且嵌入后一样可以点击单元格而且右键点击一样有office哪些菜单。另外你说除非代码嵌入插件,真的有这东西吗?可以直接给代码或链接吗?
今天有人给我一下代码,效果是另外打开的,且把页面关闭了帮看看这样写跟你说的有什么不一样: public void Open(string FileName)
{
string FullFileName = "";
try
{
FullFileName = FileName; //文件物理路径
FileInfo DownloadFile = new FileInfo(FullFileName);//文件流
if (DownloadFile.Exists)
{
Response.Clear();
Response.ClearHeaders();
Response.Buffer = false;
Response.ContentType = "application/octet-stream";
Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(DownloadFile.FullName, System.Text.Encoding.UTF8));
Response.AppendHeader("Content-Length", DownloadFile.Length.ToString());
Response.WriteFile(DownloadFile.FullName);
Response.Flush();
Response.End();
}
}
catch
{
//打开时异常了
} }