【问题标题】:How should I be saving .doc documents to a SQL Server database我应该如何将 .doc 文档保存到 SQL Server 数据库
【发布时间】:2011-11-30 21:47:28
【问题描述】:

我正在使用下面的 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();

【问题讨论】:

    标签: c# asp.net sql-server .doc varbinarymax


    【解决方案1】:

    您的文件被下载而不是显示的原因是您将内容类型设置为 application/ms-word。这告诉浏览器下载文件(它们本身无法处理该类型的文件,因此它们委托给外部应用程序)。

    您需要知道如何解释 MS Word 格式并将其转换为可在浏览器中查看的代码(HTML、某种可以为您执行此操作的插件等)。保存原始 Word 文档,然后以相同的状态将其发送回客户端基本上只是让他们下载一个 Word 文件。

    【讨论】:

      【解决方案2】:

      squillman 是对的。有大量第三方组件可以进行 Word -> HTML 转换。

      另一个可能更适合 Intranet 站点的选项是在服务器上安装 Word。

      这里有一个例子:

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

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

      不过,办公自动化服务器端存在许多缺陷 - 请参阅 http://support.microsoft.com/kb/257757 了解更多信息。

      【讨论】:

        【解决方案3】:

        这是一个很好的结果,最终结果取决于用户是否下载或查看文件here's the link,但@Squillman 通过放置您告诉它下载的响应标头是正确的。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2010-09-08
          • 2010-12-28
          • 1970-01-01
          • 2015-08-20
          • 1970-01-01
          • 1970-01-01
          • 2019-11-03
          相关资源
          最近更新 更多