将二进制数据保存到 SQL Server






3.50/5 (4投票s)
2002年4月25日

110389
ASP 可以将二进制数据保存到 SQL Server 中的表中
引言
首先安装 SoftArtisans.FileUp
组件
以上传文件。 或者,您可以使用您有权访问的任何其他文件上传组件。
然后,在 SQL Server 中创建表
create table test (
file_id int identity(1,1),
file_type varchar(50),
file_name varchar(50),
file_data image,
date_created smalldatetime)
创建 ASP 文件 (upload.asp) 以将文件保存到 SQL Server
HTML 代码
<form ENCTYPE="multipart/form-data" METHOD="post"
ACTION="upload.asp" name="frmUpload">
<input type="file" size="15" src="" width="67" height="18"
id="FILE1" NAME="FILE1" value="Search">
<input TYPE="submit" NAME="btnEnviar" VALUE="Submit">
</form>
ASP 代码
Dim objUpload
Set objUpload = Server.CreateObject("SoftArtisans.FileUp")
Set MSCS = Server.CreateObject("ADODB.Connection")
MSCS .ConnectionTimeout = 90
MSCS .Open "DSN=DSN_NAME;UID=USERNAME;PWD=PASSWORD;DATABASE=DATABASE_NAME"
If objUpload.Form("FILE1") <> "" Then
Set Rs = Server.CreateObject ("ADODB.Recordset")
Rs.Open "test", MSCS, 2, 3
Rs.AddNew
Rs("file_name") = objUpload.Form("FILE1").UserFilename
objUpload.Form("FILE1").SaveAsBlob Rs("file_data")
Rs("file_type") = objUpload.Form("FILE1").contentType
Rs("date_created") = now()
Rs.upDate()
Rs.Close
Response.Write "Uploaded Successfully"
End If
Set objUpload = Nothing
%>
现在创建 view_upload.asp 以查看文件
<%
Set MSCS= Server.CreateObject("ADODB.Connection")
MSCS.ConnectionTimeout = 90
MSCS.Open "DSN=DSN_NAME;UID=USERNAME;PWD=PASSWORD;DATABASE=DATABASE_NAME"
Set Rs = Server.CreateObject ("ADODB.Recordset")
strSQL = "SELECT * FROM test WHERE file_id = " & request("id")
Rs.Open strSQL, MSCS, 2, 3
Response.ContentType = Rs("file_type")
Response.BinaryWrite Rs("file_data")
Rs.close
%>
要查看保存的文件,浏览至 http://server.com/view_upload.asp?id=1