28. september 2006 - 21:18
#1
<%
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("images.mdb")
intID = Request.QueryString("id")
If Request.QueryString("mode") = "show" Then
' Denne kode fremviser den ønskede fil
strSQL = "SELECT Image_Type, Image_Data FROM Images WHERE (ImageID = " & intID & ");"
Set rs = myConn.Execute(strSQL)
If Not rs.EOF Then
Response.ContentType = rs("Image_Type")
Response.BinaryWrite rs("Image_Data")
End If
' Her frigives Connection objektet fra hukommelsen
myConn.Close
Set myConn = Nothing
Response.End
ElseIf intID > 0 Then
strMsg = "<p>Det valgte billede er:<br><img src=upload_access.asp?mode=show&id="& intID &"></p>"
End If
' Her skabes FileUp objektet
Set objUpl = Server.CreateObject("SoftArtisans.FileUp")
' Her sættes en begrænsning på 10 kb.
If objUpl.Form("upload") <> "" Then
' Hvis formen er blevet submitted
strFilename = objUpl.Form("f1").UserFilename
strFileExt = Mid(strFilename, InstrRev(strFilename, ".") + 1)
If objUpl.Form("f1").IsEmpty Then
strMsg = "<p>Du skal vælge en fil</p>"
ElseIf LCase(strFileExt) <> "gif" AND LCase(strFileExt) <> "jpg" Then
strMsg = "<p>Du skal vælge enten et GIF eller JPG fil!</p>"
ElseIf objUpl.TotalBytes > 10000000 Then
strMsg = "<p>Billedet fylder mere end 10 Kb., vælg venligst et andet!</p>"
Else
' Her gemmes filen i databasen
Set rsBlob = Server.CreateObject("ADODB.RecordSet")
rsBlob.Open "Images", myConn, 1, 3
rsBlob.AddNew
objUpl.Form("f1").SaveAsBlob rsBlob.Fields("Image_Data")
rsBlob.Fields("Image_Type") = objUpl.Form("f1").ContentType
rsBlob.Fields("Image_Name") = Mid(strFilename, InstrRev(strFilename, "\") + 1)
rsBlob.Update
intID = rsBlob("ImageID")
rsBlob.Close
' Her frigives vores recordset fra hukommelsen
Set rsBlob = Nothing
' Tekst der viser hvad filnavnet er og hvor meget filen fylder
strMsg = "<p>Filen <em>" & strFilename & "</em> er uploaded til databasen, og fylder <em>" & objUpl.TotalBytes & "</em> bytes.</p>" &_
"<p><img src=upload.asp?mode=show&id="& intID &"></p>"
End If
End If
' Her frigives FileUp objektet fra hukommelsen
Set objUpl = Nothing
%><html><head>
<title>Upload til Access</title>
</head><body>
<%=strMsg%>
<form method="POST" enctype="multipart/form-data" action="upload.asp">
<p><input type="file" size="20" name="f1"></p>
<p><input type="submit" name="upload" value="Upload"></p>
<p>Bemærk: I dette eksempel er der sat en maks. begrænsning på 10 kb.</p>
</form>
<%
' Her skrives der link til de eksisterende objekter i databasen
strSQL = "SELECT ImageID, Image_Name FROM Images ORDER BY Image_Name"
Set rs = myConn.Execute(strSQL)
If Not rs.EOF Then
Response.Write "Objekter i databasen: <ul type=square>"
Do While Not rs.EOF
Response.Write "<li><a href=upload.asp?id=" & rs("ImageID") & ">" & rs("Image_Name") & "</a></li>"
rs.MoveNext
Loop
Response.Write "</ul>"
End If
' Her frigives Connection objektet fra hukommelsen
myConn.Close
Set myConn = Nothing
%>
</body></html>
28. september 2006 - 21:20
#2
Set objUpl = Server.CreateObject("SoftArtisans.FileUp")
enten er komponenten ikke installereret,
eller ikke aktiveret under iis 6.0
eller du har ikke ret til at benytte det.
jeg er mest tilbøjelig til at tro det er 1 eller 2