• ASP.NET上传图片并在DataGrid中显示


    一、程序功能:当上传图片大小超过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
  • 相关阅读:
    数据挖掘-基本流程
    ArcGIS GP应用-GP模型服务发布
    ArcGIS GP应用-GP模型创建-缓冲区分析
    Hadoop2的Yarn和MapReduce2相关
    hadoop学习WordCount+Block+Split+Shuffle+Map+Reduce技术详解
    WordCount示例深度学习MapReduce过程
    数组的几种排序算法的实现
    hBase官方文档以及HBase基础操作封装类
    Hive SQL执行流程分析
    Hive SQL的编译过程
  • 原文地址:https://www.cnblogs.com/yongheng178/p/1283452.html
Copyright © 2020-2023  润新知