upload.aspx

来自「《ASP.NET C#程序设计案例教程》」· ASPX 代码 · 共 62 行

ASPX
62
字号
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<script language="VB" runat="server">
Sub Enter_Click(sender As Object, e As EventArgs)
	'只有客户提交了文件和文件说明才继续执行
	If uploadfile.PostedFile.FileName<>"" And Intro.Text<>"" Then
		'第一步:获取上传的文件的各种信息,以备后面使用***********************
		'下面变量分别表示文件的名称,文件MIME类型,和文件说明和文件大小
		Dim filename,fileContentType,fileintro As String
		Dim filesize as Long
		'Path.GetFileName方法可以从任何一个路径字符串中获取文件名称
		filename= Path.GetFileName(uploadfile.PostedFile.FileName)    
		filesize=uploadfile.PostedFile.ContentLength
		fileContentType=uploadfile.PostedFile.ContentType
		fileintro=intro.Text

		'第二步:利用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 OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("temp.mdb"))
		Dim cmd As New OleDbCommand("Insert Into uploadfile(filename,filesize,filebody,fileintro,fileContentType,submit_date) Values(@filename,@filesize,@filebody,@fileintro,@fileContentType,@Submit_Date)", conn)
		'给参数赋值
		cmd.Parameters.Add(New OleDbParameter("@filename", OleDbType.Char,50))
		cmd.Parameters("@filename").Value=filename
		cmd.Parameters.Add(New OleDbParameter("@filesize", OleDbType.Integer))
		cmd.Parameters("@filesize").Value=filesize
		cmd.Parameters.Add(New OleDbParameter("@filebody", OleDbType.Binary))
		cmd.Parameters("@filebody").Value=Buffer									'这里是保存文件内容的二进制数组
		cmd.Parameters.Add(New OleDbParameter("@fileintro", OleDbType.Char,250))
		cmd.Parameters("@fileintro").Value=fileintro
		cmd.Parameters.Add(New OleDbParameter("@fileContentType", OleDbType.Char,50))
		cmd.Parameters("@fileContentType").Value=fileContentType
		cmd.Parameters.Add(New OleDbParameter("@submit_date", OleDbType.Date))
		cmd.Parameters("@submit_date").Value=Now()
		'执行操作,插入记录
		conn.open()                             
		cmd.ExecuteNonQuery()
		conn.close()                            

		'下面可以重定向回首页
		Response.Redirect("index.aspx")
	End If
End Sub
</script>
<html>
<body>
    <h4 align="center">上传文件到数据库</h4>
    <form enctype="multipart/form-data" runat="server">
        请选择图片文件:<input id="uploadfile" type="file" accept="image/*" runat="server">
        <br>文件说明:<asp:textbox id="intro" runat="server"/>
        <br><asp:Button id="enter" Text="提交" OnClick="Enter_Click" runat="server"/>
    </form>
</body>
</html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?