word和excel在网页上显示,文件流,虚拟目录,文件上传
1.如何在网页上显示word和excel
a.可以使用aspose将word 和excel 转换为pdf 然后在网页上打开pdf,但是效果不是很好.比如说excel 多个工作薄不是按exce 格式显示出来,宽度大小,不好控制(?).
b.可以使用aspose将文档转换为html,但是转换为html 会产生额外的XML和CSS和图片文件.在文件流中不好读取(文件在本地里面).
c.可以使用其他转换,比如http://www.cutepdf.com/(?),或者用文件流读取再转换(没试过),或者是word和Excel相关组件,比如说在word里面直接保存为html后缀.
d.最好将文件转换为Mhtml格式的,这是因为Mhtml是个单个网页文件.
Mhtml称为聚合html文档web文档或单一文件网页应用于(asscss,word,excel)是单个网页 文件可将网站所有元素(包括声音,图片)保存到单个mhtml文件中.
2.对于项目而言如何上传文件,文件上传到哪儿,如何保存这些上传文件
a.可以将文件上传到asp.net项目当中,但是据说项目越来越大影响后期运行效率,不利于维护,没有验证过.
b.可以将文件用数据流读取保存到数据库当中,没有实践过(?).
b.可以将文件上传到服务器本地磁盘当中,便于对文件的操作和管理.
A.如果上传到服务器读取转换的网页文件没问题
B.上传到数据库转换成网页文件(没试过)(?)
C.上传到本地里面文件夹里面,好像微软在asp.net上面出于安全考虑并不支持直接访问站点外的文件(?)其他开发上面不清楚,
1)可以使用添加虚拟目录,就是在服务器上添加虚拟目录路径,映射到绝对路径目录上就是指向你要访问的图片路径,在Vs开发中新建上传文件夹,只是在发布文件后的ISS上,做改动,将原有文件夹变为虚拟路径 文件,不过还是按照Server.MapPath(@"~/new_ams/file/" + fileName)获取路径,(?)具体还没实践过.
2)可以将用文件流读取本地文件,映射路径,参考代码http://www.cnblogs.com/insus/archive/2013/02/05/2892678.html,
但是有一点文件流好像只可以读取单个文件(?),不可以读取同时读取html +外部CSS+图片,所以运用前面的方法将文件转换为Mhtml格式的
文件上传到项目中 if (type == ".doc" || type == ".docx") { Aspose.Words.Document doc = new Aspose.Words.Document(filePath); doc.Save(savePath + ".Html", Aspose.Words.SaveFormat.Mhtml); url = @"~/new_ams/file/" + fileName + ".html"; } if (type == ".xls" || type == ".xlsx") { Aspose.Cells.Workbook workbook = new Aspose.Cells.Workbook(filePath); workbook.Save(savePath, Aspose.Cells.SaveFormat.Html); url = "~/new_ams/hdSrc.ashx?file=" + savePath + ".htm"; }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。