webForumDet fria alternativet

Byta filnamn via ASPupload

ASP

3 svar · 297 visningar · startad av fedde

Medlem sedan dec. 1999137 inlägg
Frågan#1

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 -----------------------------------------------%>
Medlem sedan nov. 20018 492 inlägg
#2

Min kod som du hittar i det här inlägget kanske kan hjälpa dig? :)

Medlem sedan dec. 1999137 inlägg
#3

Har kikat på den tidigare. Men blev inte så klok på den koden. Den är helt annan än den jag läst om i bl.a. manualen: http://www.aspupload.com/manual.htm

I din kod står det ju också "aspSmartUpload.SmartUpload". Är inte det en annan komponent?

Medlem sedan nov. 20018 492 inlägg
#4

fedde skrev:

Har kikat på den tidigare. Men blev inte så klok på den koden. Den är helt annan än den jag läst om i bl.a. manualen: http://www.aspupload.com/manual.htm

I din kod står det ju också "aspSmartUpload.SmartUpload". Är inte det en annan komponent?

Aha, jag hade läst fel såg jag nu, komponenten jag använder heter aspSmartUpload så du får ignorera dom koderna. ;)

264 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)