ASP网页实现图片上传到数据库教程 (asp上传照片数据库)
ASP是一种服务器端脚本语言,广泛应用于动态网页的开发中。在ASP网页开发中,图片上传是非常常见的需求。通常情况下,我们可以在服务器上定义一个存储路径,在用户上传图片后,将图片保存到服务器上的指定路径。但是,这种方式有一个缺点,就是当服务器上的存储路径越来越多时,难以维护。为了解决这种问题,我们可以将图片直接上传到数据库中。本文将介绍如何在ASP网页中实现图片上传到数据库。
之一步:创建数据库
在开始编写ASP网页之前,我们需要先创建一个数据库。在这个例子中,我们将创建一个名为“pictures”的数据库,用于保存图片信息。请在SQL Server Management Studio中执行以下SQL语句来创建表:
CREATE TABLE pictures(
picture_id int IDENTITY(1,1) PRIMARY KEY,
picture_name varchar(50),
picture_data varbinary(MAX)
);
该表中包含两个列,分别用于存储图片名称和图片数据。其中,“picture_id”为自增列,可用于标识图片的唯一性。
第二步:编写ASP网页
在创建好数据库之后,我们需要编写一个ASP网页,用于实现图片上传和显示。以下是网页的主要代码:
<%
‘ 获取上传的图片名称和数据
picture_name = Request.Form(“picture_name”)
picture_data = Request.BinaryRead(Request.TotalBytes)
‘ 保存图片到数据库
Set conn = Server.CreateObject(“ADODB.Connection”)
conn.Open “Provider=SQLOLEDB;Data Source=.\SQLEXPRESS;Initial Catalog=pictures;Integrated Security=True;”
Set cmd = Server.CreateObject(“ADODB.Command”)
cmd.ActiveConnection = conn
cmd.CommandText = “INSERT INTO pictures (picture_name, picture_data) VALUES (?, ?)”
Set param1 = cmd.CreateParameter(“picture_name”, adVarChar, adParamInput, 50, picture_name)
Set param2 = cmd.CreateParameter(“picture_data”, adVarBinary, adParamInput, -1, picture_data)
cmd.Parameters.Append param1
cmd.Parameters.Append param2
cmd.Execute
conn.Close
‘ 显示图片
Set conn = Server.CreateObject(“ADODB.Connection”)
conn.Open “Provider=SQLOLEDB;Data Source=.\SQLEXPRESS;Initial Catalog=pictures;Integrated Security=True;”
Set rs = Server.CreateObject(“ADODB.Recordset”)
rs.Open “SELECT * FROM pictures ORDER BY picture_id DESC”, conn
Response.Write “
” & picture_name & “ |
“
rs.Close
conn.Close
%>
该网页包含两个部分:图片上传和图片显示。在图片上传部分,我们首先获取上传的图片名称和数据,并将其保存到数据库中。在图片显示部分,我们查询数据库中保存的所有图片,并逐一显示在网页上。
第三步:编写用于显示图片的ASP网页
在第二步中,我们已经将图片数据保存到了数据库中。现在,我们需要编写一个用于显示图片的ASP网页。以下是该网页的代码:
<%
‘ 获取图片数据
id = Request.QueryString(“id”)
Set conn = Server.CreateObject(“ADODB.Connection”)
conn.Open “Provider=SQLOLEDB;Data Source=.\SQLEXPRESS;Initial Catalog=pictures;Integrated Security=True;”
Set rs = Server.CreateObject(“ADODB.Recordset”)
rs.Open “SELECT picture_data FROM pictures WHERE picture_id=” & id, conn
picture_data = rs(“picture_data”)
rs.Close
conn.Close
‘ 输出图片
Response.ContentType = “image/jpeg”
Response.BinaryWrite picture_data
%>
该网页用于获取指定ID的图片数据,并输出到网页上。
第四步:测试网页
在完成以上三个步骤之后,我们就可以测试我们编写的ASP网页了。我们需要将ASP网页的代码保存到一个以“.asp”为后缀名的文件中(例如“upload.asp”)。然后,在浏览器中访问该网页,上传一幅图片。上传完成后,网页会自动刷新,并显示上传的图片。如果一切正常,您应该能够在网页上看到您上传的图片了。
在本文中,我们介绍了如何在ASP网页中实现图片上传到数据库。通过本文的介绍,您应该能够熟练地编写ASP网页,并实现更加复杂的功能。当然,在实际应用中,还需要注意安全性问题,避免受到SQL注入等攻击。