Jag har fått allt att fungera med ASPUpload 2.1 utom att jag vill byta ut filnamnet till ett eget. Filens ID i databasen t.ex.
Änn så länge har jag använd "hash" för att kontrollera filnamnet mot databasen.
Jag har försökt med alla de koder som jag hittat här i WF. Men de har alla riktat sig till SQLdatabaser. Jag använder access. Här är den kod jag har idag. Den laddar upp bilden korrekt och lägger filnamnet i databasen. Men namnet ville jag som sagt byta ut...
Någon som har ett bra tips?
If Request.QueryString("do") = "addpicsave" Then
' ---- ASP-upload-----------------------------------------------
Set Upload = Server.CreateObject("Persits.Upload")
' we use memory uploads, so we must limit file size (in bytes)
Upload.SetMaxSize 50000, True
' Intercept all exceptions to display user-friendly error
On Error Resume Next
' Save to memory. Path parameter is omitted
Count = Upload.SaveVirtual(picturemappath)
' Obtain file object
Set File = Upload.Files("file")
' Errorcheck - START ------------------------------------
' 8 is the number of "File too large" exception
If Err.Number = 8 Then
Session("mess") = "För stor fil!<BR>Du kan inte ladda upp bilder större än 50kb"
Response.Redirect sidnamn & "?do=addpic"
Response.End
Else
If Err <> 0 Then
Response.Write "Ett fel uppstod: " & Err.Description
End If
' Filesuffixcheck - START ----------------------------
If File.ImageType <> "GIF" and File.ImageType <> "JPG" Then
Session("mess") = "OBSERVERA!<BR>Du kan bara ladda upp JPG eller GIF bilder!"
File.Delete
Response.Redirect sidnamn & "?do=addpic"
Response.End
else
' Filedimesionscheck - START --------------------------
If File.ImageWidth > 200 and File.ImageHeight > 150 Then
Session("mess") = "OBSERVERA!<BR>Bilden får vara max 200 pixlar bred och 150 pixlar hög!"
File.Delete
Response.Redirect sidnamn & "?do=addpic"
Response.End
else
If Not File Is Nothing Then
' Build ADO connection string
Conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & db
' To use SQL Server, the connecton string may look like this:
' Connect = "Provider=SQLOLEDB;Server=SRV;Database=mydb;UID=sa;PWD=xxx"
' Use ADO Recordset object
Set rs = Server.CreateObject("adodb.recordset")
' Optional: check whether this file already exists using MD5 hash
Hash = File.MD5Hash
rs.Open "SELECT * from pictures WHERE hash='" & Hash & "'", Conn, 2, 3
If Not rs.EOF Then
Session("mess") = "OBSERVERA!<BR>Detta filnamn finns redan i databasen!"
Response.Redirect sidnamn & "?do=addpic"
Response.End
End If
rs.Close
' Reopen recordset to insert file
rs.Open "pictures", Conn, 2, 3
rs.AddNew
'To save the file IN the database
'rs("image_blob") = File.Binary
'File.FileName only works with ASPUpload 3.0
'File.ExtractFileName works in version 2.1
'rs("filename") = File.FileName
rs("filename") = File.ExtractFileName
rs("filesize") = File.Size
rs("hash") = Hash
rs("description") = Upload.Form("description")
rs.Update
rs.Close
Conn.Close
Set Conn = Nothing
Else
Response.Write "Du måste välja en bildfil!"
End If
' Filesuffixcheck - END-------------
End If
' Filedimesionscheck - END-------------
End If
' Errorcheck - END ------------
End If
' ---- ASP-uploadfunktion----- END----------
Session("mess") = "Bilden är uppladdad!"
Response.Redirect sidnamn & "?do=showpic"
End If
'--- Ladda upp bild -------- END -----------------------------------------------%>