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——异步调用
GTK3-demo 代码调用
ef core code first 生成的数据库表去复数的方法
nuxt全局挂载导航路由守卫
vue导入,导出,列表展示excel数据
JS之blob对象下载文件,解决word可能打开是乱码,xlsx文件打不开,图片显示格式不支持等问题
程序猿的十一条浮躁表现
RSA加密解密及加签验签
冒泡排序
Failed to parse source for import analysis because the content contains invalid JS syntax
原文地址:https://www.cnblogs.com/RuiLei/p/568741.html
最新文章
[转][JavaScript]LiveServer
backup 定期备份 mysql database
PG-pg_probackup备份恢复工具
PG-了解gdb调试
PG-ASH Viewer 插件工具
PG-表分区管理工具
Oracle-审计功能
Oracle-GI环境中单独public 网络中配置第二个监听服务
PG-处理流复制冲突
Oracle-修复 TEMPORARY 段中损坏的块
热门文章
PG-实现dblink功能(postgres_fdw|oracle_fdw|mysql_fdw等)
PG-访问外部数据源数据之file_fdw插件
MySql系列 (一): MySql基础
HZNUOJ 【C系列6.19】字符串训练之吉祥物读号码
关于用VS写C语言
Spring boot——JMX 监控
Spring boot——Actuator 健康检查
Linux——iostat
Linux——查找过滤(tail、grep、find)
Java——字节码技术
Copyright © 2011-2022 走看看