[原创] 在ASP.NET Web Application 中如何处理图片
2008-10-27 20:12
411 查看
老规矩,直接分析代码
首先是,建立一个表,字段类型是image
通常情况下,你会发现没有办法存image ,因为长度是50,不能改。而一个image通常是1000多个
image数据类型的长度是16,我存入一张图的时候图最多就只能30K左右,大点的图根本就不能存。我想改它的长度,但是不能改的。
跑一下下面的语句:
sp_tableoption N'MyTable', 'text in row', '1000' 只有执行过这一句Image类型的数据才起作用
其次,是将文件转化为二进制数据字节数组
将文件转为二进制数据
public static byte[] PictureFileToByte(string picFilePath)
{
FileStream fs = new FileStream(picFilePath, FileMode.Open, FileAccess.Read);
byte[] bytePhoto = new byte[fs.Length];
fs.Read(bytePhoto, 0, (int)fs.Length);
fs.Close();
return bytePhoto;
}
于是图片便存到数据库中去了。
读取
建立一个Image 控件, Image.ImageUrl=Image.aspx?ID=2002
2002是数据库中存图片的表的行ID,
Image.aspx 中
protected void Page_Load(object sender, EventArgs e)
{
string guid = Request.QueryString["ID"];
if (guid != null)
{
Response.ClearContent();
Response.ContentType = "image/jpeg";
byte[] data = Utility.Picture(guid); 读出二进制数据字节
Response.BinaryWrite((byte[])data);
}
}
这样就可以。
如有问题,请留言。
首先是,建立一个表,字段类型是image
通常情况下,你会发现没有办法存image ,因为长度是50,不能改。而一个image通常是1000多个
image数据类型的长度是16,我存入一张图的时候图最多就只能30K左右,大点的图根本就不能存。我想改它的长度,但是不能改的。
跑一下下面的语句:
sp_tableoption N'MyTable', 'text in row', '1000' 只有执行过这一句Image类型的数据才起作用
其次,是将文件转化为二进制数据字节数组
将文件转为二进制数据
public static byte[] PictureFileToByte(string picFilePath)
{
FileStream fs = new FileStream(picFilePath, FileMode.Open, FileAccess.Read);
byte[] bytePhoto = new byte[fs.Length];
fs.Read(bytePhoto, 0, (int)fs.Length);
fs.Close();
return bytePhoto;
}
于是图片便存到数据库中去了。
读取
建立一个Image 控件, Image.ImageUrl=Image.aspx?ID=2002
2002是数据库中存图片的表的行ID,
Image.aspx 中
protected void Page_Load(object sender, EventArgs e)
{
string guid = Request.QueryString["ID"];
if (guid != null)
{
Response.ClearContent();
Response.ContentType = "image/jpeg";
byte[] data = Utility.Picture(guid); 读出二进制数据字节
Response.BinaryWrite((byte[])data);
}
}
这样就可以。
如有问题,请留言。
相关文章推荐
- 在ASP.NET Web Application 中如何处理图片 【转】-有用
- vs. 2005也可以使用web application project, 如何把asp.net ajax特性加入呢?
- net4.0创建asp.net empty web application如何发布(英文)
- 如何在asp.net中使用多线程及队列,异步处理一个耗时的任务(原创)
- Asp.net中如何处理一个站点不同Web应用通用Session的问题
- [原创] 如何在没有ASP.NET Ajax-Enabled Web Site 向导的情况下加入Ajax支持
- 如何在Google Map中处理大量标记(ASP.NET)(原创-翻译)
- ASP.NET如何存取SQL Server数据库图片(转)
- IIS是如何处理ASP.NET请求的
- 在ASP.NET Web Application中通过SOAP协议调用Bing搜索服务
- [ASP.NET教程] C#中如何实现数据拖动?(拖动图片,到TextBox,并显示)
- IIS是如何处理ASP.NET请求的
- 是使用 ASP.NET Web 服务还是使用 .NET Remoting:如何选择
- ASP.NET Web服务如何工作?
- ASP.NET中Website与WebApplication的区别
- [导入].NET之ASPWebApplication快速入门(5)
- 总结ASP.NET MVC Web Application中将数据显示到View中的几种方式
- ASP.NET Core应用针对静态文件请求的处理[3]: StaticFileMiddleware中间件如何处理针对文件请求
- 如何在ASP.NET下遍历指定页面上所有控件[原创]
- Asp.net环境下如何生成随机图片