从数据库中检索 MS Word 文档并在本地保存

Posted

技术标签:

【中文标题】从数据库中检索 MS Word 文档并在本地保存【英文标题】:Retrieving MS Word Document from Database and Saving Locally 【发布时间】:2010-10-26 21:53:10 【问题描述】:

我使用 AsyncFileUpload AJAX 控件将文件上传到使用 LINQ to SQL 的 SQL Server 数据库中的列。如何从数据库中检索文档并允许用户使用使用 LINQ to SQL 的另存为对话框保存到本地驱动器?这是 ASP.NET Web 应用程序。 DocumentFileContent 数据库列是 Image SQL Server 数据类型。谢谢

【问题讨论】:

【参考方案1】:

网络表单中最好的方法是使用 HTTP 处理程序。

image 数据类型的 DB 查询将映射到 byte[]

public class Document : IHttpHandler

    public void ProcessRequest(HttpContext context)
    
        using (SQLConnection con = new SQLConnection)
        
            SqlCommand command = new SqlCommand("SELECT imagefield FROM table", con);
            connection.Open();

            SqlDataReader reader = command.ExecuteReader();
            if (reader.HasRows)
            
                while (reader.Read())
                
                    context.Response.ContentType = "application/msword";
                    context.Response.BinaryWrite(reader["imagefield"]);
                
            
            reader.Close();
        
    

    public bool IsReusable
    
        get
        
            return false;
        
    

【讨论】:

以上是关于从数据库中检索 MS Word 文档并在本地保存的主要内容,如果未能解决你的问题,请参考以下文章

从 ms-access 获取数据到 ms-word

从当前打开的从 Sharepoint 下载的 Word 文档 .docm 中获取字节数组,而不保存到本地驱动器

是否可以从网站打开word文档并像从本地网络访问一样保存?

从共享驱动器加载的 Word 文档的本地副本无法使用 VBA 另存为 PDF 方法。不保存文档

从MS Word复制并粘贴到CKEditor中

word中如何进行关键词检索