目的是实现向数据库中插入记录 里面包括上传图片的各种信息(如:长度,字节数,名字,内容)和留言人姓名和留言内容
aspx.vb中的代码:
Sub Enter_Click(ByVal sender As Object, ByVal e As EventArgs)
If uploadfile.PostedFile.FileName"" Then
'第一步:获取上传的文件的各种信息,以备后面使用***********************
'下面变量分别表示文件的名称,文件MIME类型,和文件说明和文件大小
Dim filename, fileContentType As String
Dim filesize As Long
'Path.GetFileName方法可以从任何一个路径字符串中获取文件名称
filename = Path.GetFileName(uploadfile.PostedFile.FileName)
filesize = uploadfile.PostedFile.ContentLength
fileContentType = uploadfile.PostedFile.ContentType
'第二步:利用Stream对象将上传的文件保存到二进制数组中*******************
Dim buffer(filesize) As Byte
'建立一个和文件大小一致的二进制数组
Dim objStream As Stream
'定义一个Stream对象变量
objStream = uploadfile.PostedFile.InputStream
'读取上传文件到Stream对象中
objStream.Read(buffer, 0, filesize)
'读取整个文件到buffer数租中
'第三步:将二进制数组中的数据保存到数据库中********************************
Dim conn As New SqlConnection("Data Source=CHINA-E4B18D593\SQLEXPRESS;Initial Catalog=class;Integrated Security=True")
Dim cmd As New SqlCommand("Insert Into class_declaration(filename,filesize,filebody,filecontenttype,submit_date,name,body) Values(@filename,@filesize,@filebody,@fileContentType,@Submit_Date,@name,@body)", conn)
'给参数赋值
cmd.Parameters.Add(New SqlParameter("@filename", SqlDbType.Char, 50))
cmd.Parameters("@filename").Value = filename
cmd.Parameters.Add(New SqlParameter("@filesize", SqlDbType.Int))
cmd.Parameters("@filesize").Value = filesize
cmd.Parameters.Add(New SqlParameter("@filebody", SqlDbType.Binary))
cmd.Parameters("@filebody").Value = buffer
'这里是保存文件内容的二进制数组
cmd.Parameters.Add(New SqlParameter("@fileContentType", SqlDbType.Char, 250))
cmd.Parameters("@fileContentType").Value = fileContentType
cmd.Parameters.Add(New SqlParameter("@submit_date", SqlDbType.DateTime))
cmd.Parameters("@submit_date").Value = Now()
cmd.Parameters.Add(New SqlParameter("@name", SqlDbType.Char))
cmd.Parameters("@name").Value = name.Value
cmd.Parameters.Add(New SqlParameter("@body", SqlDbType.Text))
cmd.Parameters("@body").Value = "0"
'执行操作,插入记录
conn.open()
cmd.ExecuteNonQuery()
conn.close()
End If
End Sub
aspx中的控件有:input:filetextboxtextarea 这三个类型的html控件
|