如题。谢谢.string path = File1.PostedFile.FileName;
Stream fileStream = File1.PostedFile.InputStream;
int length = File1.PostedFile.ContentLength;
byte[] wordData=new byte[length];不会写了。知道后面还要写 Response.ContentType = "application/msword";。但是写出来不是显示在页面上而是成下载样
下面是直接向WORD文件转成HTML页面的方法,不知道是不是您想要的效果
///<summary>
/// 根据MSWord文件,生成Html文件
///</summary>
///<param name="wordFilePath">Word文件路径(绝对)</param>
///<param name="htmlFilePath">生成的Html文件路径(绝对),路径的目录结构必须存在,否则保存失败</param>
///<returns>是否执行成功</returns>
public static bool MSWordToHtml(string wordFilePath, string htmlFilePath)
{
//using Microsoft.Office.Interop.Word;
ApplicationClass wordApp = new ApplicationClass();
Type wordType = wordApp.GetType();
Documents docs = wordApp.Documents;
Type docsType = docs.GetType();
try
{
Document doc = (Document)docsType.InvokeMember("Open", BindingFlags.InvokeMethod, null, docs,
new Object[] { wordFilePath, true, true });
Type docType = doc.GetType();
docType.InvokeMember("SaveAs", BindingFlags.InvokeMethod, null, doc,
new object[] { htmlFilePath, WdSaveFormat.wdFormatFilteredHTML });
return true;
}
catch
{
return false;
}
finally
{
wordType.InvokeMember("Quit", BindingFlags.InvokeMethod, null, wordApp, null);
}
}
额,不是只是一个FileUpload下上传一个word文件,想要显示在页面。
@香草DE味道: 你是要达到百度文库 类似的效果吧?
@八戒的师傅: 嗯差不多。有例子给看看吗?
@香草DE味道: 百度文档使用的应该是Flex技术实现的,微软平台下的Silverlight应该也可以实现类似的效果,具体可以百度一下Flex和FlexPaper的相关信息,也可以参考以下开源工作社区的介绍:
http://www.oschina.net/p/flexpaper/
试试下面的代码:
Response.ContentType = "application/msword";
Response.WriteFile(FilePath);
你的意思是只打这两句话?string path = File1.PostedFile.FileName; Response.ContentType = "application/msword"; Response.WriteFile(path);结果是未能找到文件“C:\Users\Administrator\documents\visual studio 2010\Projects\TestForF\TestForF\wocao.docx”。不行呀
是要像百度文库那样,可以显示word文档吗?
嗯差不多。
这个问题现在早有非常成熟的方案了,用卓正PageOffice,在线显示编辑word、excel,不费吹灰之力,跨浏览器支持,IE、谷歌Chrome、火狐Firefox、Opera、国产浏览器兼容极速模式都不在话下