Avatar billede zantiago Nybegynder
22. marts 2005 - 10:17 Der er 5 kommentarer og
1 løsning

slet billede fso

Hej Eksperter

Jeg forsøger nedenstående at slette et billede fra webserveren samt databasen.

<%
'Sletter billede fra databasen og serveren
Set rs_del_picture = Server.CreateObject("ADODB.RecordSet")
rs_del_picture.open "Select * From [Pictures] Where Id =" & request.QueryString("Picture_Id") , Conn,1,3
'Udskriver billedet for at se om stien er rigtig
response.write("<img src='../userfiles/"&Unique_Name&"/pictures/"&rs_del_picture("Picture_Url")&"'>")
Dim fso, MyFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.GetFile("../userfiles/"&Unique_Name&"/pictures/"&rs_del_picture("Picture_Url")&"")
MyFile.Delete
rs_del_picture.Delete
%>

Lige nu kommer billedet frem, men nedenunder står der:
---------------------------------------------------------------
Microsoft VBScript runtime  error '800a0035'

File not found

/admin/pictures.asp, line 138
---------------------------------------------------------------

Line 138:
Set MyFile = fso.GetFile("../userfiles/"&Unique_Name&"/pictures/"&rs_del_picture("Picture_Url")&"")
Avatar billede moejensen Nybegynder
22. marts 2005 - 10:22 #1
prøv i stedet for at eksekvere stien,  at udskriv den med response.write, så du kan kontrolere at den er rigtig.

Har du sikret dig at der er IUSR_SERVERNAVN sletterettigheder på den mappe du sletter fra?
Avatar billede zantiago Nybegynder
22. marts 2005 - 10:31 #2
Der er sletterettigheder på serveren - så problemmet er ikke der!

Får denne fejl nu:
----------------------------------------------------------------
Active Server Pages error 'ASP 0116'

Missing close of script delimiter

D:\WEB\zantiago.com\www\kildekode/userfiles/demo/pictures/2.jpg, line 172

The Script block lacks the close of script tag (%>). error '8000d001'

/admin/pictures.asp, line 135
----------------------------------------------------------------



Koden er nu:
----------------------------------------------------------------
<%
'Sletter billede fra databasen og serveren
Set rs_del_picture = Server.CreateObject("ADODB.RecordSet")
rs_del_picture.open "Select * From [Pictures] Where Id =" & request.QueryString("Picture_Id") , Conn,1,3
server.Execute("../userfiles/"&Unique_Name&"/pictures/"&rs_del_picture("Picture_Url"))
Dim fso, MyFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.GetFile("../userfiles/"&Unique_Name&"/pictures/"&rs_del_picture("Picture_Url")&"")
MyFile.Delete
rs_del_picture.Delete
%>
----------------------------------------------------------------
Avatar billede zantiago Nybegynder
22. marts 2005 - 11:26 #3
Problemet er at den ikke kan finde stien!

KAn man ikke bruge: "../" i et script der bruger fso? eller skal det være en unik sti altså "c:\" osv.. ???
Avatar billede moejensen Nybegynder
22. marts 2005 - 11:35 #4
prøv at bruge denne her i stedet:

fso.DeleteFile Server.MapPath("../userfiles/"&Unique_Name&"/pictures/"&rs_del_picture("Picture_Url")&""), True
Avatar billede zantiago Nybegynder
22. marts 2005 - 11:38 #5
Ja sq da - Det var nemlig Server.MapPath som ikke var med :o)

SVAR * SVAR * SVAR
Avatar billede moejensen Nybegynder
22. marts 2005 - 11:48 #6
det kommer her.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester