我已成功將文件上傳到我的SQL Server數據庫。我可以將這些信息帶回到GridView中。我無法弄清楚如何創建一個超鏈接來實際打開文件。如何從SQL Server數據庫檢索文件?
0
A
回答
2
您需要創建一個URL來處理圖片並將DB內容返回到響應流中。正如發生在SQL Saturday #26我有一個演示文稿,顯示了這一點。您可以從鏈接doaloand我的幻燈片,進入演示2,並在lotsOfPictures解決方案,你會發現Picture.aspx.cs,已經做了你問什麼了:
using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
SqlCommand cmd = new SqlCommand(
@"SELECT picture
FROM resized_pictures
WHERE picture_id = @id
AND picture_size = @size;", conn);
cmd.Parameters.AddWithValue("@id", pictureId);
cmd.Parameters.AddWithValue("@size", size);
using (SqlDataReader rdr = cmd.ExecuteReader(
CommandBehavior.SequentialAccess))
{
if (rdr.Read())
{
Response.ContentType = "image/jpeg";
byte[] bytes = new byte[1024];
long offSet = 0;
int countRead = (int) rdr.GetBytes(
0, offSet, bytes, 0, 1024);
while (countRead > 0)
{
Response.OutputStream.Write(bytes, 0, countRead);
offSet += countRead;
countRead = (int)rdr.GetBytes(
0, offSet, bytes, 0, 1024);
}
}
}
}
難題的重要作品是傳遞給SqlCommand閱讀器的SequentialAccess標誌將返回一個真正的流,因此頁面在返回之前不會在內存中加載整個圖像。對於高性能服務器,您應該使用異步操作,如Asynchronous Pages in ASP.NET 2.0中所述。
0
自己還沒有嘗試過,但是如何將數據流式傳輸到本地文件系統上的臨時文件,然後提供一個指向該臨時文件的鏈接?
0
通常情況下,您將使用您的服務器端代碼發送相應的headers,然後僅回顯內容。
從PHP手冊:
// We'll be outputting a PDF
header('Content-type: application/pdf');
// It will be called downloaded.pdf
header('Content-Disposition: attachment; filename="downloaded.pdf"');
// The PDF source is in original.pdf
readfile('original.pdf');
0
如果你的文件存儲在數據庫中,你可能把它作爲一個博客或字節數組。在超鏈接點擊事件中,您需要將字節數組傳遞到流中,並使用流式寫入器來創建文件。然後執行該文件。
相關問題
- 1. 從SQL Server數據庫檢索文件
- 2. 無法檢索從SQL Server數據庫
- 3. 從SQL Server檢索數據庫錯誤
- 4. 從SQL Server數據庫檢索圖像
- 5. 如何從SQL Server數據庫中檢索數據
- 6. 如何從SQL Server數據庫中檢索最大輸入值?
- 7. 使用SSIS 2005從SQL Server 2008 R2數據庫檢索數據
- 8. 從SQL Server數據庫中檢索東亞語言數據
- 9. 從SQL Server CE數據庫中檢索SqlDbType.Image類型的數據
- 10. 從asp.net中的SQL Server數據庫中檢索數據
- 11. 從SQL Server中檢索數據錯誤
- 12. 使用LINQ從SQL Server檢索數據
- 13. AJAX + ASP.net從Sql Server中檢索數據?
- 14. 從PATSTAT檢索數據與SQL Server
- 15. 如何從數據庫檢索數據
- 16. 從數據庫中檢索mp3文件
- 17. 從數據庫檢索壓縮文件
- 18. 如何從SQL Server中的已分級數據檢索數字?
- 19. 如何在vb中從SQL數據庫檢索數據。淨?
- 20. 如何從SQL數據庫檢索行數據 - Android電子
- 21. 如何從SQL數據庫檢索UTF-8數據?
- 22. 如何在Word 2010中從SQL數據庫檢索數據?
- 23. 如何存儲和從SQL Server數據庫檢索數學表達式?
- 24. 如何從文件中檢索數據
- 25. 如何從XML文件檢索數據?
- 26. 從數據庫檢索數據和批量索引他們 - SQL Server
- 27. 如何從schema.rb文件生成SQL Server數據庫?
- 28. 如何從SQL Server 2005數據庫中刪除脫機文件
- 29. javafx從sql server數據庫檢索圖像
- 30. 從SQL Server數據庫表中檢索最後一個id