我该如何将.doc文档保存到SQL Server数据库中?

3

我正在使用以下C#代码将.doc文件以varbinary(max)格式保存到SQL Server数据库中。

我能够保存文件,但当我检索文件并想要在网页上显示内容时,我的代码会下载文件,我对如何处理它感到非常困惑。

我正在寻找的确切功能是像naukri.com上传简历并预览的方式。我的代码是:

byte[] fileContent = new byte[fuResume.PostedFile.ContentLength];
fuResume.PostedFile.InputStream.Read(fileContent, 0, fuResume.PostedFile.ContentLength);
//lblAppliedMessage.Text = ByteArrayToString(fileContent);

//lblAppliedMessage.Text = BitConverter.ToString(fileContent).Replace("-", string.Empty);
byte[] btYourDoc;
btYourDoc = fileContent;

Response.ContentType = "application/ms-word";
Response.AddHeader("Content-Disposition", "inline;filename=yourfilename.doc");
Response.OutputStream.Write(btYourDoc, 0, fileContent.Length);

Response.BinaryWrite(btYourDoc);

Response.End();
3个回答

2
你的文件被下载而不是显示的原因是因为你设置了内容类型为application/ms-word。这告诉浏览器下载文件(它们无法本地处理该类型的文件,因此委托给外部应用程序)。
你需要编写代码来解释MS Word格式并将其转换为浏览器中可视化的内容(HTML、某种插件等)。保存原始Word文档,然后以相同状态将其发送回客户端基本上只是让他们下载一个Word文件。

0

squillman是正确的。有很多第三方组件可以进行Word -> HTML转换。

另一个选项,可能更适合内部网站,是在服务器上安装Word。

这里有一个示例:

http://www.c-sharpcorner.com/UploadFile/munnamax/WordToHtml03252007065157AM/WordToHtml.aspx

实际上,文档被打开后以HTML格式保存,然后后续的请求可以检索文件的HTML版本进行预览。

然而,办公自动化服务器端存在许多陷阱-有关更多信息,请参见http://support.microsoft.com/kb/257757


0

这是一个好的例子,最终结果由用户决定是否下载或查看文件这里是链接,但@Squillman是正确的,通过设置响应头,您正在告诉它下载。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接