slette hvis det ikke virker
Hejsajeg skal hente nogle værdier fra en formular og bruge værdierne til at uploade filer og skrive værdierne til DB.
MEN... jeg kan ikke finde ud af hvordan jeg skal få slettet filer og mapper hvis det ikke lykkedes at skrive til DB.
Jeg uploader nemlig op til 8 jpg filer og en beskrivelse til hver fil. Hvis der ikke er nogen beskrivelse til en fil, skal den ikke skrive til DB om netop den fil, og så er det, jeg gerne vil have at filen slettes igen
det er en smule tricky synes jeg og derfor har jeg sat 200 point af.
her er koden jeg bruger:
Set Upload = Server.CreateObject("Persits.Upload")
' Limit file size to 50000 bytes, throw an exception if file is larger
Upload.SetMaxSize 50000, True
' Intercept all exceptions to display user-friendly error
On Error Resume Next
' Capture files
Upload.Save
subdir = Upload.Form("ID")
filepath = "E:\Inetpub\wwwroot\Upload_test\hd\" & subdir
Upload.CreateDirectory filepath, False
descrNo = 2
For Each File in Upload.Files
' Obtain file object
If File.ImageType = "UNKNOWN" Then
Response.Write "This is not an image."
Upload.RemoveDirectory filepath
Response.End
End If
File.SaveAs filepath & "\" & File.FileName
descr = Replace(Upload.Form(descrNo), "'", "''")
If Not File Is Nothing Then
' Build ODBC connection string
Connect = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("upload.mdb")
uploaddate = FormatDateTime(Now, 2)
uploadtid = FormatDateTime(Now, 3)
' Build SQL INSERT statement
SQL = "INSERT INTO billeder(filename, filepath, filesize, width, height, descr, filetype, uploaddate, uploadtid) VALUES("
SQL = SQL & "'" & File.Filename & "', "
SQL = SQL & "'" & File.Path & "', "
SQL = SQL & "'" & File.Size & "', "
SQL = SQL & "'" & File.ImageWidth & "', "
SQL = SQL & "'" & File.ImageHeight & "', "
SQL = SQL & "'" & descr & "', "
SQL = SQL & "'" & File.ImageType & "', "
SQL = SQL & "#" & uploaddate & "#, "
SQL = SQL & "#" & uploadtid & "#"
SQL = SQL & ");"
' Save to database
File.ToDatabase Connect, SQL
Response.Write "File(s) saved."
Else
' 8 is the number of "File too large" exception
If Err.Number = 8 Then
Response.Write "Your file is too large. Please try again."
Else
If Err <> 0 Then
Response.Write "An error occurred: " & Err.Description
Else
Response.Write "Success!"
End If
End If
End If
descrNo = descrNo + 1
Next
