您的位置:软件 > 开发者网络 > 微软开发专栏 > Visual Studio.net专栏 > VB.net > 正文
VB.NET上传图片并在DataGrid中显示
[文章信息]
作者:waterswea
时间:2005-01-26
出处:天极论坛
责任编辑:方舟
[文章导读]
程序功能:当上传图片大小超过8K或格式不符时禁止上传,上传通过之后,用DataGrid显示上传的图片......
advertisement
热点推荐
· PS色彩调整简明教程:色阶
· 春节将至 专家教你4招保障电脑安全
· 在Eclipse中使用ANT灵活构建Web应用
· 邮箱及IE安全设置指南
· 配置Win 2000系统中的磁盘配额
[正文]
  一、程序功能:当上传图片大小超过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


发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
相关内容焦点新闻
  • Visual Stuido.NET扩展存储过程
  • 用VB.net实现Smartphone中进程启动
  • 在Visual Baisc.NET 2005中使用泛型
  • 用锯齿形数组提高.NET应用程序速度
  • Visual Basic.NET中组件的叠加使用
  • 如何突破中小企业实施ERP过程中的人力瓶颈
  • 中国搜索起诉8848 净化网络竞争环境
  • 新一代卫星手机面世 同时兼容GSM和卫星网络
  • 手机电视亮相美国 包月费15美元可浏览大片
  • 信息化动向:中小企业受益于零售行业软件
  • 网上银行安全事故频发 理财反恐已刻不容缓
  • 预测:2010年世界500强中国企业将占50席
  • 正版压缩DVD上市 发行价8到10元保证品质
  • Advertisement

    天极无线


    奇妙科幻|美好风光|清风车影|漫画卡通|星座生肖|明星写真|动物世界
    温馨祝福|极品爆笑|生肖属相|StarQ|体育竞技|美好风光|每逢佳节
    老鼠爱大米
    挥着翅膀的女孩
    女人味
    栀子花开
    白月光
    刚刚好
    江南
    快乐崇拜
    亲爱的你怎么不在我身边
    小薇
    2002年的第一场雪
    有多少爱可以重来
    我的地盘
    七里香
    情人
     
    老鼠爱大米 冲动的惩罚
    最熟悉的陌生人 绿光
    可爱女人 盛夏的果实
    当你孤单你会想起谁 孤单北半球
    2002年的第一场雪 眉飞色舞
    有多少爱可以重来 挪威的森林
    最浪漫的事 老板电话

    CSEEK搜索