asp.net对于图像文件的操作--存储、读取访问
2010-05-04 15:41
302 查看
内容引用自:
菜鸟问题,高分求解:关于SQL Server存储图片的问题
http://topic.csdn.net/t/20050415/20/3940356.html
数据库中Image类型的数据的存取(For C#/ASP.NET)
http://www.cnblogs.com/billsfeng/archive/2008/07/31/1257579.html
SQL Server存储图像数据的策略与方法
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.存储于数据库
引自:SQL Server存储图像数据的策略与方法[/i]
b.存储于文件系统
引自:SQL Server存储图像数据的策略与方法[/i]
建议:减轻数据库处理负担,也可以建立专门的文件服务器存放图片和视频.
2、数据库存储及读取图片数据
引自:数据库中Image类型的数据的存取(For C#/ASP.NET)[/i]
3、asp.net中自定义对图片文件的访问
ImageHandler 图片缩放与水印效果
http://www.blogjava.net/kiant/articles/317469.html
4、其他组件
Persits AspJpeg组件图片水印\缩略图\图片合并\图片切割\实例教程
http://www.aspxhome.com/asp/component/200812/620614.htm
5、C# 处理GIF 图片的问题?(分不够,还有)
http://topic.csdn.net/t/20060703/11/4856635.html
6、ASP.NET输出PNG图片时出现GDI+一般性错误的解决方法
详细出处参考:http://www.jb51.net/article/17063.htm
菜鸟问题,高分求解:关于SQL Server存储图片的问题
http://topic.csdn.net/t/20050415/20/3940356.html
数据库中Image类型的数据的存取(For C#/ASP.NET)
http://www.cnblogs.com/billsfeng/archive/2008/07/31/1257579.html
SQL Server存储图像数据的策略与方法
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.存储于数据库
在大多数情况下,最好把图片文件与其它数据一起存在数据库中。因为将影像数据文件存储在数据库中有许多优点: 易于管理 当BLOB与其他数据一起存储在数据库中时,BLOB和表格是数据一起备份和恢复。这样就降低了表格数据与BLOB数据不同步的机会,而且降低了其他用户无意中删除了文件系统中BLOB数据位置的路径和风险。另外,将数据存储在数据库中BLOB和其他数据的插入、更新和删除都在同一个事务中实现。这样就确保了数据的一致性和文件与数据库之间的一致性。还有一点好处是不需要为文件系统中的文件单独设置安全性。 可伸缩性 尽管文件系统被设计为能够处理大量不同大小的对象,但是文件系统不能对大量小文件进行优化。在这种情况下,数据库系统可以进行优化。 可用性 数据库具有比文件系统更多的可用性。数据库复制允许在分布式环境中复制、分配和潜在的修改数据。在主系统失效的情况下,日志转移提供了保留数据库备用副本的方法。
引自:SQL Server存储图像数据的策略与方法[/i]
b.存储于文件系统
当然,在某些情况下,将图片存储在文件系统中将是更好的选择: (1)使用图片的应用程序需要数据流性能,例如实时的视频重现。 (2)象Microsoft PhotoDraw或者Adobe Photoshop这样的应用程序经常访问BLOB,这些应用程序只知道怎样访问文件。 (3)需要使用一些NTFS文件系统中的特殊功能,例如远程存储。
引自:SQL Server存储图像数据的策略与方法[/i]
建议:减轻数据库处理负担,也可以建立专门的文件服务器存放图片和视频.
2、数据库存储及读取图片数据
1.将Image图像文件存入到数据库中 我们知道数据库里的Image类型的数据是"二进制数据",因此必须将图像文件转换成字节数组才能存入数据库中. 2.从SQL Server数据库读取Image类型的数据,并转换成bytes[]或Image图像文件
引自:数据库中Image类型的数据的存取(For C#/ASP.NET)[/i]
3、asp.net中自定义对图片文件的访问
web.config <system.web> <!-- vs调试、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.blogjava.net/kiant/articles/317469.html
4、其他组件
Persits AspJpeg组件图片水印\缩略图\图片合并\图片切割\实例教程
http://www.aspxhome.com/asp/component/200812/620614.htm
AspJpeg功能摘要 支持JPEG, GIF, BMP, TIFF 和 PNG 格式图片. 输出格式始终为 JPEG 源图片可以来源于磁盘、内存、或者记录集(数据库) 缩略图片可以保存到磁盘、内存、或者HTTP流 支持三种更改大小方式: nearest-neighbor, bilinear, and bicubic. 可以在图片之上添加图片或者文字. 支持画中画 支持复制,反转,旋转,锐化,灰度调节. 可以调节压缩比率,以得到最佳输出效果和大小. 从Jpeg图片中抽取EXIF 和 IPTC数据. CMYK-RGB转换 Read/write access to individual pixels of an image. (从图象中对任意象素进行读/写存取。)
5、C# 处理GIF 图片的问题?(分不够,还有)
http://topic.csdn.net/t/20060703/11/4856635.html
8 楼tzzzc(冷剑)回复于 2006-07-03 13:33:19 得分 0 to:Knight94(愚翁) Graphics myImg = Graphics.FromImage(zoomImg);//创建Graphics 在最后一句出现问题(处理GIF 图片时候,提示无法从带有索引像素格式的图像创建 Graphics),老提示:A Graphics object cannot be created from an 9 楼Knight94(愚翁)回复于 2006-07-03 13:41:34 得分 0 不要用gif图像直接生成graphics对象, 处理流程: 1、gif 分解成png或者jpg文件组; 2、对每个png或者jpg文件进行处理; 3、把处理好的png或者jpg文件组,进行合成一个gif。
6、ASP.NET输出PNG图片时出现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,不是流式的,已经写入的就不再管了,而是需要往回不断地写入结构数据。但是response流无法往回seek,所以直接用就不行了。改成一个可以seek的MemoryStream,先生成好png图片,然后再输出到response流。
相关文章推荐
- asp.net对于图像文件的操作--存储、读取访问
- ASP.NET中对文件的操作 创建 读取 删除 上传 下载(转 备份用)
- ASP.NET操作SQL Server 存储大文件的方法分享
- ASP.NET+DLL+DLL读取配置文件(DLL中访问数据库和WebService)
- 关于C#和ASP.NET中对App.config和Web.config文件里的[appSettings]和[connectionStrings]节点进行新增、修改、删除和读取相关的操作
- Asp.Net 文件操作基类(读取,删除,批量拷贝,批量删除,写入)
- ASP.net读取EXCEL文件将内容存储到GridView中
- 关于C#和ASP.NET中对App.config和Web.config文件里的[appSettings]和[connectionStrings]节点进行新增、修改、删除和读取相关的操作
- c#asp.net 读取 写入 txt 文件 asp.net操作文件
- asp.net-由于权限不足而无法读取配置文件,无法访问请求的页面
- Asp.Net 文件操作基类(读取,删除,批量拷贝,批量删除,写入)
- Asp.Net文件操作技巧:文件操作基类(读取,删除等)
- 关于C#和ASP.NET中对App.config和Web.config文件里的[appSettings]和[connectionStrings]节点进行新增、修改、删除和读取相关的操作
- c#asp.net 读取 写入 txt 文件 asp.net操作文件
- Asp.Net 文件操作基类(读取,删除,批量拷贝,批量删除,写入)
- Asp.Net 文件操作基类(读取,删除,批量拷贝,删除,写入,获取文件夹大小,文件属性,遍历目录)
- Asp.Net 文件操作基类(读取,删除,批量拷贝,删除,写入,获取文件夹大小,文件属性,遍历目录)
- Asp.Net 文件操作基类(读取,删除,批量拷贝,删除,写入,获取文件夹大小,文件属性,遍历目录)(一)
- asp.net 用指定用户名密码模拟登录 访问操作网路路径文件
- Asp.Net 文件操作基类(读取,删除,批量拷贝,删除,写入,获取文件夹大小,文件属性,遍历目录)