Avatar billede Slettet bruger
26. januar 2003 - 05:14 Der er 9 kommentarer og
1 løsning

FSO - DeleteFile

Hej eksperter

Jeg kan ikke rigtig får FileSystemObject objektets DeleteFile metode til at virke. Jeg er efterhånden løbet tør for gode ideer. Jeg skal ganske simpelt slette et billede på webserveren med flg stump kode:

strFuldSti = Server.MapPath("grafik/nyheder/" & strSletFilNavn)
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
       
If objFSO.FileExists(strFuldSti) Then
  Response.Write("Sletter: " & strFuldSti)
  objFSO.DeleteFile strFuldSti
End If

Som I kan se, udskriver jeg den absolutte sti til filen, for at kontrollere, at sti og filnavn er korrekt. Jeg har sat rettighederne for min IUSER konto korrekt.

Når jeg kører koden på min egen IIS, får jeg timeout på eksekvering af scriptet.

Når jeg kører koden på mit webhotel, ekseverer scriptet uden fejl, men slette ikke filen. (Jeg _har_ skriverettigheder til pågældende mappe).

Jeg er jeg er ved at "gå ud af mit gode kind", da jeg før har brugt FSO til at slette filer med, uden problemer. Desuden er jeg rimeligvis sikker på, at min kode ikke er decideret forkert.

Er der nogen, der har prøvet noget lign? Findes der evt. alternativer til FSO mht. at slette filer?
Avatar billede niceday Nybegynder
26. januar 2003 - 05:47 #1
Prøv at slet billedet ved at høre følgende - husk lige at ændre sti og filnavn:

<%
dim fs
Set fs=Server.CreateObject("Scripting.FileSystemObject")
if fs.FileExists("c:\billede.jpg") then
  fs.DeleteFile("c:\billede.jpg")
end if
set fs=nothing
%>

Virker dette?
Avatar billede Slettet bruger
26. januar 2003 - 06:11 #2
Nej... samme resultat med at bruge objFSO.DeleteFile("c:\test.jpg")

(og ja - jeg havde sat skriverettigheder på c:\)
Avatar billede eagleeye Praktikant
26. januar 2003 - 10:41 #3
Når du køre koden på dit web-hotal skrive den så stien ud ?

Response.Write("Sletter: " & strFuldSti)
Avatar billede eagleeye Praktikant
26. januar 2003 - 10:42 #4
Prøv lige at sætte () omkring filnanvet i delete:


  objFSO.DeleteFile (strFuldSti)
Avatar billede Slettet bruger
26. januar 2003 - 12:21 #5
Jeg har prøvet med og uden paranteser, og både lokalt og på webhotellet skriver den fint den absolutte sti.

Det, jeg især bider mærke i, er at objFSO.FileExists(strFuldSti) virker begge steder. FSO kan altså sagtens registrere, at filen findes, ved brug af samme variabel.
Avatar billede hossein Nybegynder
26. januar 2003 - 14:03 #6
hvad med at bruge getfile methoden:
<%
dim fs,f
set fs=Server.CreateObject("Scripting.FileSystemObject")
set f=fs.GetFile("c:\test.txt")
f.Delete
set f=nothing
set fs=nothing
%>
Avatar billede Slettet bruger
26. januar 2003 - 14:51 #7
Har prøvet... så når den så langt som til "fs.getFile" og så ellers samme resultat.
Avatar billede eagleeye Praktikant
26. januar 2003 - 18:22 #8
På din lokale maskine har du da Norton Antivirus program til at køre?
Jeg har set at Norton Antivirus har gjort nogle FSO function hænger.
Avatar billede Slettet bruger
26. januar 2003 - 19:38 #9
Jeg har det installeret, men jeg har det ikke til at starte op med windows, og det kører dermed ikke når jeg bruger IIS.
Avatar billede Slettet bruger
25. april 2003 - 08:33 #10
Lukker... FSO er noget værre hø!
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