【问题标题】:How to display a Word document saved in database inside a web page如何在网页内显示保存在数据库中的 Word 文档
【发布时间】:2020-09-06 16:51:48
【问题描述】:

我正在将 Word 文档转换为 varbinary 并将其保存到 SQL Server 数据库。我可以保存数据。我想将上传的 Word 文档显示给用户,就像简历在 Word 中的样子一样,就好像实际的 Word 文档嵌入在网页本身中一样。

我有以下代码,它将保存的 Word 文档下载为 Word 文件。请告诉我哪个是在浏览器中显示 word 文档的最佳控件。

 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.BinaryWrite(btYourDoc);
            Response.End();

【问题讨论】:

    标签: asp.net sql-server ms-word


    【解决方案1】:

    如果您在 Web 服务器或应用程序服务器上有 word,我会将来自数据库的流保存到临时文件中,用 word 打开它,另存为 html 并在 Web 浏览器中呈现此 html。

    编辑:

    如评论中提供的链接中所述:http://support.microsoft.com/default.aspx?scid=kb;EN-US;257757 您应该避免在服务器端代码上使用 Word/Excel 自动化,这里是 MS 这篇文章的摘录:

    Microsoft 目前不推荐也不支持, 无人值守的 Microsoft Office 应用程序自动化, 非交互式客户端应用程序或组件(包括 ASP、 ASP.NET、DCOM 和 NT 服务),因为 Office 可能表现出不稳定 Office 在此环境中运行时的行为和/或死锁。

    建议的解决方案/替代方案是:

    Word Automation Services Overview

    Excel Services Overview

    【讨论】:

    • Microsoft 明确表示您不应该在服务器上安装 Microsoft Office,因为它在长时间运行时会出现内存泄漏问题。
    • @rtpHarry 能否请您发送 Microsoft 的此声明的链接?如果您在使用后处置和释放办公物品,我认为这不是导致泄漏的原因无论如何都是最小的。我从未见过您提到的文章(但尚未链接),无论如何,一旦关闭 word 或回收 IIS 应用程序池,内存不会释放吗?
    猜你喜欢
    • 2016-02-17
    • 1970-01-01
    • 2016-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多