需求是这样的,职员想将自己做的office文档,例如.doc和.xls上传至web服务器。然后其它员工都可以直接打开
网页,在网页上不用下载直接查看已上传的office文档。
1.上传office文档的员工打开上传页面 点选自己电脑里的文档,确定后开始上传至服务器
2.office在服务器中是存储为硬盘文件方式,还是存储到SQL中。
3.用户请求查看office文档时,文档直接显示在浏览器中(并不是下载后查看)请问以上各部都动用什么控件 给出具体控件 方法,谢谢!
越是详细的给分越多.
网页,在网页上不用下载直接查看已上传的office文档。
1.上传office文档的员工打开上传页面 点选自己电脑里的文档,确定后开始上传至服务器
2.office在服务器中是存储为硬盘文件方式,还是存储到SQL中。
3.用户请求查看office文档时,文档直接显示在浏览器中(并不是下载后查看)请问以上各部都动用什么控件 给出具体控件 方法,谢谢!
越是详细的给分越多.
使用列表控件显示文件,a href直接连接相关文档
string savePath = Server.MapPath("~/upload/");
if(!System.IO.Directory.Exists(savePath))
{ System.IO.Directory.CreateDirectory(savePath);
}
savePath = savePath + "\\" + fileUpload.FileName;
fileUpload.SaveAs(savePath);//保存文件
保存文件名到数据库
都是调用客户端的office
建议存放在一个专门的文件中
使用列表控件显示文件,a href直接连接相关文档
string savePath = Server.MapPath("~/upload/");
if(!System.IO.Directory.Exists(savePath))
{ System.IO.Directory.CreateDirectory(savePath);
}
savePath = savePath + "\\" + fileUpload.FileName;
fileUpload.SaveAs(savePath);
startInfo.Arguments = list[e.RowIndex].Docurl;
GStockNo1ClientModels.Stockpoll stockpoll = list[e.RowIndex];
startInfo.WindowStyle = ProcessWindowStyle.Minimized;
//Process.Start(list[e.RowIndex].Docurl); Process process1 = new Process();
process1.StartInfo = startInfo;
process1.Start();
从数据库中 找个路径,然后在IE上显示。OK!
2、office文件建议存储在硬盘文件中,数据库中存放文件的物理存放位置(采用相对路径)
3、用户请求查看文件时,直接使用http的头协议。具体代码如下:
Response.Clear();
Response.AddHeader("Content-Disposition", "inline;filename=\"" + 文件名称 + "\"");
Response.ContentType = Files.GetPrivateProfileString(文档类型,如doc, "application/octet-stream", Server.MapPath("../bin/httpFiletypes.ini"));
Response.TransmitFile(“文件物理存储路径”);
Response.Flush();
Response.End();
二:要有一个office控件支持在浏览器中打开office文档(或者编辑文档),我个人用过的一个控件我觉得很好,而且是免费的。weboffice控件,具体下载地址:http://www.dianju.cn/p/weboffice/,你一看就知道了,肯定能符合你的要求。