簡體   English   中英

如何在SQL Server 2008中存儲和檢索.pdf,.exe文件

[英]How to store and retrieve .pdf, .exe file in SQL Server 2008

我目前正在使用Windows Forms應用程序(C#,VS 2010),並且需要創建使用戶能夠將.pdf.exe文件上傳到SQL Server 2008數據庫並將其重新下載的功能。

我的問題是,即使它們大小相同,從數據庫下載的文件也總是損壞( .txt文件除外)。 而且我已經使用varbinary(MAX)作為文件類型將數據存儲在數據庫中。

誰能給我看一些示例代碼來做到這一點?

PS:我已經研究了一個多星期,但仍然找不到解決我問題的方法,有人可以幫忙嗎? 任何答案將不勝感激。

在下面的示例中,有一些假設:

  1. 我正在使用Dapper進行數據庫訪問。 它擴展了任何 IDbConnection對象。
  2. 我在數據庫中有一個表,該表具有這樣的定義: CREATE TABLE Data (Id INT IDENTITY(1, 1) PRIMARY KEY, Data VARBINARY(MAX))
  3. ReadAllBytes的文檔

因此,顯然,由於您沒有在表結構周圍提供任何內容,因此您將不得不更改此代碼以滿足您的需求,但這將使您入門。

this.connection.Open();

try
{
    var parameters = new
        {
            Data = File.ReadAllBytes(...);
        };
    return connection.Execute("INSERT INTO Data (Data) VALUES (@Data)", parameters);
}
finally
{
    this.connection.Close();
}

閱讀它

this.connection.Open();

try
{
    var parameters = new { Id = 1 };
    return connection.Query(
        "SELECT Data FROM dbo.Data WHERE Id = @Id", parameters)
        .Select(q => q.Data as byte[])
        .Single();
}
finally
{
    this.connection.Close();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM