一、程序功能:当上传图片大小超过8k或格式不符时禁止上传,上传通过之后,用datagrid显示上传的图片
二、建立数据库
在mssql的northwind数据库中新建一个users表,表设计如下:
列名 数据类型 长度 是否可以为空 其它
id int 4 否 主键,设标识为是,标识种子1,递增量1
headimg varchar 50 否
三、窗体设计:
1、新建asp.net web应用程序,命名为datagrid3,保存路径为http://192.168.0.1/datagrid3(注:我机子上的网站的ip是192.168.0.1的主目录是d:\web文件夹)然后点击确定。
2、在解决方案资源管理器窗口中,将webform1.aspx重命名为uppicture.aspx,然后从工具箱中向窗体添加一个label控件、一个button按钮.然后从一个html工具箱中向窗体添加一个file field控件窗体界面如下:
3、在解决方案资源管理器窗口中右击项目,选择添加-新项-web窗体,名称设为viewpicture.aspx。然后在打开的窗体中添加一个datagrid控件。
4、右击datagrid控件,再点击下方的“属性生成器”,打开“datagrid属性窗口”。在“datagrid属性窗口”点击“列”,取消“在运行时自动创建列”前的对勾,向选定的列中添加一个绑定列,在页眉文本中输入“序号”,在数据字段中输入id。再向选定的列中添加一个绑定列,在页眉文本中输入“头像”,在数据字段中输入headimg。然后点击确定。
窗体界面如下;
四、代码设计:
1、uppicture.aspx
imports system.data.sqlclient
public class webform1
inherits system.web.ui.page
'窗体代码省略
'上传图片
private sub button1_click(byval sender as system.object, byval e as system.eventargs) handles button1.click
dim img as string
'定义postedfile文件是储存用户上载的文件
dim postedfile as httppostedfile = file1.postedfile
'定义一个变量储存用户上载文件的大小
dim intimgsize as int32
'获取用户上传文件的大小,
intimgsize = postedfile.contentlength
'如果要上传的文件不为空
if intimgsize <> 0 then
'如果大于8k, 则禁止上传
if intimgsize > 8000 then
label1.text = "图片太大"
exit sub
end if
'定义一个变量储存用户上传图片的文件类型
dim strimgtype as string = postedfile.contenttype
'只接受.gif格式的图片
dim filesplit() as string = split(strimgtype, "/")
strimgtype = filesplit(filesplit.length - 1)
if strimgtype <> "gif" then
label1.text = "图片格式不对"
exit sub
end if
'储存要上传的文件的整个路径
filesplit = split(postedfile.filename, "\")
'取得上传文件的文件名
dim filename as string = filesplit(filesplit.length - 1)
'将上传的图片保存到服务器当前目录的headimg文件夹中
postedfile.saveas(server.mappath("headimg") & "\" & filename)
'定义一个变量储存服务器上当前上传图片的路径
dim imgpath as string = "headimg\" & filename
img = "<img src=" & imgpath & " border=0>"
'将图片储存到数据库
dim scon as new sqlconnection("server=localhost;database=northwind;uid=sa;pwd=123")
scon.open()
dim scom as new sqlcommand("insert into users values (@img)", scon)
scom.parameters.add("@img", sqldbtype.varchar).value = img
try
scom.executenonquery()
catch ex as exception
end try
scon.close()
'转到查看图片窗口
response.redirect("viewpicture.aspx")
end if
end sub
end class
2、viewpicture.aspx代码:
imports system.data.sqlclient
public class viewpicture
inherits system.web.ui.page
‘窗体代码省略
private sub page_load(byval sender as system.object, byval e as system.eventargs) handles mybase.load
dim scon as new sqlconnection("server=localhost;database=northwind;uid=sa;pwd=123")
dim sda as new sqldataadapter("select * from users", scon)
dim ds as new dataset
try
sda.fill(ds)
catch ex as exception
end try
datagrid1.datasource = ds
datagrid1.databind()
end sub
end class
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器