65.9K
CodeProject 正在变化。 阅读更多。
Home

将二进制数据保存到 SQL Server

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.50/5 (4投票s)

2002年4月25日

viewsIcon

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
© . All rights reserved.