我已成功將文件上傳到我的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. 從asp.net中的SQL Server數據庫中檢索數據
- 4. 從SQL Server數據庫中檢索東亞語言數據
- 5. 使用LINQ從SQL Server檢索數據
- 6. 從PATSTAT檢索數據與SQL Server
- 7. AJAX + ASP.net從Sql Server中檢索數據?
- 8. 從數據庫中檢索mp3文件
- 9. 如何從SQL Server中的已分級數據檢索數字?
- 10. 如何從XML文件檢索數據?
- 11. 如何從SQL數據庫檢索行數據 - Android電子
- 12. 如何在Word 2010中從SQL數據庫檢索數據?
- 13. 如何從SQL Server 2005數據庫中刪除脫機文件
- 14. 從SQL Server數據庫表中檢索最後一個id
- 15. javafx從sql server數據庫檢索圖像
- 16. 如何從SQL Server數據庫
- 17. android:如何使用web服務從sql server檢索數據
- 18. 從SQL數據庫檢索表
- 19. 從sql數據庫檢索圖像
- 20. 如何在Laravel中使用PostgreSQL數據庫從SQL Server數據庫中檢索一些數據
- 21. 如何從圖像控件中檢索SQL Server數據庫和顯示圖像的文件路徑
- 22. 如何使用C#在ASP.NET中從SQL Server數據庫檢索圖像?
- 23. 如何從sql server檢索圖像
- 24. 如何從sqlite數據庫存儲和檢索mp3文件?
- 25. 從SQL Server CE數據庫文件到另一個數據庫文件
- 26. 如何使用函數從Web SQL數據庫中檢索值?
- 27. 如何從數據庫檢索數據到word文檔。淨
- 28. 如何從數據庫檢索圖像?
- 29. 從SQL Server數據庫
- 30. 從SQL Server數據庫