返回“ASP.NET 2.0數據教程目錄”
導言:
在前面的教程我們闡述了應用程序處理二進制數據的2種模式, 以及使用FileUpload 控件從浏覽器向服務器文件系統上傳文件。當文件上傳並存 儲在文件系統裡時,應在相應的數據庫記錄裡存儲該文件的存儲路徑。
我 們先來看如何為最終用戶提供二進制數據。怎樣展示二進制數據呢?這取決於其 類型。比如圖片,我們將其顯示為image;如果是PDFs,Microsoft Word文檔、ZIP 文件或其它類型的數據,或許提供一個“Download”鏈接比較妥當。
在本節,我們看如何在GridView和DetailsView一類的數據Web控件裡呈現 二進制數據,在後面的教程我們將注意力轉向將上傳文件和數據庫聯系起來。
第一步:提供BrochurePath值
表Categories的Picture列存儲相關 類的圖片信息。具體的講,為16色的低質量位圖,大小為172乘120像素,約11 KB 。另外還包括一個約78字節的OLE報頭,在顯示圖片的時候需要將其剝離。為什麼 會有報頭信息呢?因為數據庫Northwind源於微軟的Access數據庫。在Access裡二 進制數據OLE類型來存儲的,該類型會添加報頭。現在,我們看如何從圖片剝離報 頭,以便顯示。在後面的教程我們將創建一個界面,將帶報頭的這些位圖替換為 不帶報頭的等價的JPG圖片。
前面我們考察了如何使用FileUpload控件, 讓我們繼續為服務器文件系統添加文件。不過暫時不用更新Categories表的 BrochurePath列,那是下一章的內容。我們現在需要手工為BrochurePath賦值。
在本教程,當你下載東西時,可以看到在~/Brochures7文件夾有7個PDF小 冊子,每個小冊子對應一個種類,Seafood除外。我故意沒為Seafood提供PDF小冊 子,以便探討如何處理某些記錄沒有附帶二進制數據的情況。在服務器資源管理 器裡右鍵點擊Categories,選“查看表數據”,輸入文件路徑,如圖1 所示。由於Seafood類沒有圖片,將其BrochurePath的值設為“NULL” 。
圖1:手工為表Categories的BrochurePath列鍵入值