內(nèi)容引用自:
菜鳥問題,高分求解:關(guān)于SQL Server存儲圖片的問題
http://topic.csdn.net/t/20050415/20/3940356.html
數(shù)據(jù)庫中Image類型的數(shù)據(jù)的存取(For C#/ASP.NET)
http://www.cnblogs.com/billsfeng/archive/2008/07/31/1257579.html
SQL Server存儲圖像數(shù)據(jù)的策略與方法
http://www.yesky.com/20030113/1648152.shtml
How To Read and Write BLOB Data by Using ADO.NET with Visual C# .NET
http://support.microsoft.com/default.aspx?scid=kb;EN-US;309158
1、圖片存儲
a.存儲于數(shù)據(jù)庫
在大多數(shù)情況下,最好把圖片文件與其它數(shù)據(jù)一起存在數(shù)據(jù)庫中。因為將影像數(shù)據(jù)文件存儲在數(shù)據(jù)庫中有許多優(yōu)點:
易于管理 當BLOB與其他數(shù)據(jù)一起存儲在數(shù)據(jù)庫中時,BLOB和表格是數(shù)據(jù)一起備份和恢復(fù)。這樣就降低了表格數(shù)據(jù)與BLOB數(shù)據(jù)不同步的機會,而且降低了其他用戶無意中刪除了文件系統(tǒng)中BLOB數(shù)據(jù)位置的路徑和風險。另外,將數(shù)據(jù)存儲在數(shù)據(jù)庫中BLOB和其他數(shù)據(jù)的插入、更新和刪除都在同一個事務(wù)中實現(xiàn)。這樣就確保了數(shù)據(jù)的一致性和文件與數(shù)據(jù)庫之間的一致性。還有一點好處是不需要為文件系統(tǒng)中的文件單獨設(shè)置安全性。
可伸縮性 盡管文件系統(tǒng)被設(shè)計為能夠處理大量不同大小的對象,但是文件系統(tǒng)不能對大量小文件進行優(yōu)化。在這種情況下,數(shù)據(jù)庫系統(tǒng)可以進行優(yōu)化。
可用性 數(shù)據(jù)庫具有比文件系統(tǒng)更多的可用性。數(shù)據(jù)庫復(fù)制允許在分布式環(huán)境中復(fù)制、分配和潛在的修改數(shù)據(jù)。在主系統(tǒng)失效的情況下,日志轉(zhuǎn)移提供了保留數(shù)據(jù)庫備用副本的方法。
引自:SQL Server存儲圖像數(shù)據(jù)的策略與方法
b.存儲于文件系統(tǒng)
當然,在某些情況下,將圖片存儲在文件系統(tǒng)中將是更好的選擇:
(1)使用圖片的應(yīng)用程序需要數(shù)據(jù)流性能,例如實時的視頻重現(xiàn)。
(2)象Microsoft PhotoDraw或者Adobe Photoshop這樣的應(yīng)用程序經(jīng)常訪問BLOB,這些應(yīng)用程序只知道怎樣訪問文件。
(3)需要使用一些NTFS文件系統(tǒng)中的特殊功能,例如遠程存儲。
引自:SQL Server存儲圖像數(shù)據(jù)的策略與方法
建議:減輕數(shù)據(jù)庫處理負擔,也可以建立專門的文件服務(wù)器存放圖片和視頻.
2、數(shù)據(jù)庫存儲及讀取圖片數(shù)據(jù)
1.將Image圖像文件存入到數(shù)據(jù)庫中 我們知道數(shù)據(jù)庫里的Image類型的數(shù)據(jù)是"二進制數(shù)據(jù)",因此必須將圖像文件轉(zhuǎn)換成字節(jié)數(shù)組才能存入數(shù)據(jù)庫中.
2.從SQL Server數(shù)據(jù)庫讀取Image類型的數(shù)據(jù),并轉(zhuǎn)換成bytes[]或Image圖像文件
引自:數(shù)據(jù)庫中Image類型的數(shù)據(jù)的存取(For C#/ASP.NET)
3、asp.net中自定義對圖片文件的訪問
web.config
<system.web> <!-- vs調(diào)試、iis6 -->
<httpHandlers>
<add path="*.jpg" verb="*" type="包名.ImageHandler, dll文件" />
<add path="*.jpeg" verb="*" type="包名.ImageHandler, dll文件" />
<add path="*.png" verb="*" type="包名.ImageHandler, dll文件" />
<add path="*.bmp" verb="*" type="包名.ImageHandler, dll文件" />
</httpHandlers>
</system.web>
<system.webServer><!-- iis7 -->
<handlers>
<add name="jpgMark" path="*.jpg" verb="*" type="包名.ImageHandler, dll文件" />
<add name="jpegMark" path="*.jpeg" verb="*" type="包名.ImageHandler, dll文件" />
<add name="pngMark" path="*.png" verb="*" type="包名.ImageHandler, dll文件" />
<add name="bmpMark" path="*.bmp" verb="*" type="包名.ImageHandler, dll文件" />
</handlers>
</system.webServer>
ImageHandler 圖片縮放與水印效果
http://www.tkk7.com/kiant/articles/317469.html
4、其他組件
Persits AspJpeg組件圖片水印\縮略圖\圖片合并\圖片切割\實例教程
http://www.aspxhome.com/asp/component/200812/620614.htm
AspJpeg功能摘要
支持JPEG, GIF, BMP, TIFF 和 PNG 格式圖片. 輸出格式始終為 JPEG
源圖片可以來源于磁盤、內(nèi)存、或者記錄集(數(shù)據(jù)庫)
縮略圖片可以保存到磁盤、內(nèi)存、或者HTTP流
支持三種更改大小方式: nearest-neighbor, bilinear, and bicubic.
可以在圖片之上添加圖片或者文字.
支持畫中畫
支持復(fù)制,反轉(zhuǎn),旋轉(zhuǎn),銳化,灰度調(diào)節(jié).
可以調(diào)節(jié)壓縮比率,以得到最佳輸出效果和大小.
從Jpeg圖片中抽取EXIF 和 IPTC數(shù)據(jù).
CMYK-RGB轉(zhuǎn)換
Read/write access to individual pixels of an image. (從圖象中對任意象素進行讀/寫存取。)
5、C# 處理GIF 圖片的問題?(分不夠,還有)
http://topic.csdn.net/t/20060703/11/4856635.html
8 樓tzzzc(冷劍)回復(fù)于 2006-07-03 13:33:19 得分 0
to:Knight94(愚翁)
Graphics myImg = Graphics.FromImage(zoomImg);//創(chuàng)建Graphics
在最后一句出現(xiàn)問題(處理GIF 圖片時候,提示無法從帶有索引像素格式的圖像創(chuàng)建 Graphics),老提示:A Graphics object cannot be created from an
9 樓Knight94(愚翁)回復(fù)于 2006-07-03 13:41:34 得分 0
不要用gif圖像直接生成graphics對象,
處理流程:
1、gif 分解成png或者jpg文件組;
2、對每個png或者jpg文件進行處理;
3、把處理好的png或者jpg文件組,進行合成一個gif。
6、ASP.NET輸出PNG圖片時出現(xiàn)GDI+一般性錯誤的解決方法
詳細出處參考:http://www.jb51.net/article/17063.htm
Response.ContentType = "image/PNG";
using (MemoryStream ms = new MemoryStream())
{
img.Save(ms, ChartFormat.Png);
Response.OutputStream.Write(ms.GetBuffer(), 0, (int)ms.Length);
}
就可以輸入png圖片了。
這是由于Response.OutputStream這個流的無法往回讀取造成的,也就是它的CanSeek屬性是false。png圖像生成的時候不像jpeg,不是流式的,已經(jīng)寫入的就不再管了,而是需要往回不斷地寫入結(jié)構(gòu)數(shù)據(jù)。但是response流無法往回seek,所以直接用就不行了。改成一個可以seek的MemoryStream,先生成好png圖片,然后再輸出到response流。
posted on 2010-05-04 15:41
黃小二 閱讀(830)
評論(0) 編輯 收藏 所屬分類:
ASP.NET