zoukankan
html css js c++ java
Asp.Net在SqlServer中的图片存取
在使用asp.net将图片上传并存入SqlServer中,然后从SqlServer中读取并显示出来
一,上传并存入sqlserver
数据库结构
create
table
test
{
id
identity
(
1
,
1
),
FImage
image
}
相关的存储过程
Create
proc
UpdateImage
(
@UpdateImage
Image
)
As
Insert
Into
test(FImage)
values
(
@UpdateImage
)
GO
在upphoto.aspx文件中添加如下:
<
input id
=
"UpPhoto" name
=
"UpPhoto" runat
=
"server" type
=
"
file
"
>
<
asp:Button id
=
"btnAdd" name
=
"btnAdd" runat
=
"server"
Text
=
"上传"
></
asp:Button
>
然后在后置代码文件upphoto.aspx.cs添加btnadd按钮的单击事件处理代码:
private void btnAdd_Click(object sender, System.EventArgs e)
{
//
获得图象并把图象转换为byte
[]
HttpPostedFile upPhoto
=
UpPhoto.PostedFile;
int
upPhotoLength
=
upPhoto.ContentLength;
byte
[]
PhotoArray
=
new Byte
[
upPhotoLength
]
;
Stream PhotoStream
=
upPhoto.InputStream;
PhotoStream.
Read
(PhotoArray,
0
,upPhotoLength);
//
连接数据库
SqlConnection conn
=
new SqlConnection();
conn.ConnectionString
=
"Data Source
=
localhost;
Database
=
test;
User
Id
=
sa;Pwd
=
sa";
SqlCommand cmd
=
new SqlCommand("UpdateImage",conn);
cmd.CommandType
=
CommandType.StoredProcedure;
cmd.Parameters.
Add
("
@UpdateImage
",SqlDbType.
Image
);
cmd.Parameters
[
"@UpdateImage"
]
.Value
=
PhotoArray;
//
如果你希望不使用存储过程来添加图片把上面四句代码改为:
//
string strSql
=
"
Insert
into
test(FImage)
values
(
@FImage
)";
//
SqlCommand cmd
=
new SqlCommand(strSql,conn);
//
cmd.Parameters.
Add
("
@FImage
",SqlDbType.
Image
);
//
cmd.Parameters
[
"@FImage"
]
.Value
=
PhotoArray;
conn.
open
();
cmd.ExecuteNonQuery();
conn.
Close
();
}
二,从sqlserver中读取并显示出来
在需要显示图片的地方添加如下代码:
<
asp:
image
id
=
"imgPhoto" runat
=
"server" ImageUrl
=
"ShowPhoto.aspx"
></
asp:
image
>
showphoto.aspx主体代码:
private void Page_Load(object sender, System.EventArgs e)
{
if
(!Page.IsPostBack)
{
SqlConnection conn
=
new SqlConnection()
conn.ConnectionString
=
"Data Source
=
localhost;
Database
=
test;
User
Id
=
sa;Pwd
=
sa";
string strSql
=
"
select
*
from
test
where
id
=
2
";
//
这里假设获取id为2的图片
SqlCommand cmd
=
new SqlCommand()
reader.
Read
();
Response.ContentType
=
"application
/
octet
-
stream";
Response.BinaryWrite((Byte
[]
)reader
[
"FImage"
]
);
Response.
End
();
reader.
Close
();
}
}
查看全文
相关阅读:
Java Web连接各种数据库方式汇总
java.lang.UnsupportedClassVersionError: Bad version number in .class file 解决办法
<meta 标签的详细使用
Redis实战之征服 Redis + Jedis + Spring (一)
Redis实战之征服 Redis + Jedis + Spring (二)
Redis实战之征服 Redis + Jedis + Spring (三)
快速组合数
HDU4632:Palindrome subsequence(区间DP)
阿里暂停微信服务:让商家回归微信的本职,做好客户服务
谈谈无穷小微积分对我国微积分教学改革的影响
原文地址:https://www.cnblogs.com/RuiLei/p/568741.html
最新文章
使用Redis实现抢购的一种思路(list队列实现)
redis分布式锁redisson
扩展redisTemplate实现分布式锁
Spring Boot1.5X升级到2.0指南
SpringBoot 使用小技巧合集
多环境配置
【Nginx】 Nginx实现端口转发
TCP三次握手与四次挥手过程
MySQL实现强制查询走索引和强制查询不缓存
2018年毕业求职心得
热门文章
【MySQL】mysql中any,in,some,all的区别
类型比较、装拆箱问题
【Eclipse】eclipse生成类图、类交互图、包依赖图
error: variable '__this_module' has initializer but incomplete type错误解决
自己编写的基于VC++6.0的串口调试软件,并贡献源程序!
C#通过OLEDB导出大数据到Excel
快速将大图保存到本地
MinGW安装和使用总结
c#后台修改前台DOM的css属性
android中Json数据保存方式
Copyright © 2011-2022 走看看