Avatar billede donslund Nybegynder
08. februar 2003 - 10:29 Der er 16 kommentarer og
1 løsning

fileObjekt problem

Hvorfor giver denne linie fejl?

Set MyFile = objFSO.GetFile("..\..\cgi-bin/upload/" & request.querystring("billede"))

Den siger at filen ikke findes, men det er samme sti jeg bruger hvis jeg vil vise billederne.
Avatar billede hossein Nybegynder
08. februar 2003 - 10:44 #1
prøv med den:
Set MyFile = objFSO.GetFile("..\..\cgi-bin\upload\" & request.querystring("billede"))

ellers prøv f.path for at finde den rigtige fx:
<%
dim fs,f
set fs=Server.CreateObject("Scripting.FileSystemObject")
set f=fs.GetFile("c:\asp\test\test.asp")
Response.Write("The path is: " & f.Path)
set f=nothing
set fs=nothing
%>
Avatar billede donslund Nybegynder
08. februar 2003 - 11:43 #2
Med denne kode:


<%
Dim objFSO, MyFile
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(Server.MapPath("..\..\cgi-bin/upload"))
Set MyFile = objFSO.GetFile("e:\www\amatoerscene.dk\cgi-bin\upload\" & request.querystring("billede"))

if MyFile.FileExists then
response.write MyFile
MyFile.Delete
else
response.write "Filen eksisterer ikke ..."
end if
%>

finder den filen, men melder 'Permission denied'
og kom nu ikke og sig, at det er fordi jeg ikke har kriverettigheder til mappen, for det er der alle mine databaser og lignende ligger og der er der ingen problemer.
Avatar billede hossein Nybegynder
08. februar 2003 - 12:34 #3
mystisk, men denne linie mangler:
Set objFSO = CreateObject("Scripting.FileSystemObject")
til:
Set objFSO = server.CreateObject("Scripting.FileSystemObject")
så må vi se hvad der sker!
Avatar billede donslund Nybegynder
08. februar 2003 - 15:02 #4
Det gav ingen forskel.
Avatar billede donslund Nybegynder
08. februar 2003 - 15:05 #5
Har det noget at sige, at jeg bruger den fulde sti?

E://www/ama....../olli.jpg
Avatar billede hossein Nybegynder
08. februar 2003 - 22:02 #6
Hvad er det du vil gøre? Vil du vise en image på siden efter at brugeren har sent et værdi, og den værdi, Query string er det navnet på den image?
Avatar billede donslund Nybegynder
09. februar 2003 - 10:41 #7
Jeg vil vise en række billeder og når man trykker på billedet bliver det slettet på serveren.
Avatar billede donslund Nybegynder
17. februar 2003 - 22:06 #8
Hvad så hossein ... Har du opgivet at hjælpe?
Avatar billede hossein Nybegynder
17. februar 2003 - 22:39 #9
nej, har du? men dit spm. er 3 spm i en :)
her sletter du alle *.jpg images så i sted for alle du skal bare vælge din querystring :)

Public Sub DeleteFilesFromURL (inFolderURL)
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set fold = fso.GetFolder(Server.MapPath(inFolderURL))
For Each file in fold.Files
ext = LCase(Right(file.Name, 4))
If ext = ".jpg" Then file.Delete
Next
End Sub
Avatar billede donslund Nybegynder
17. februar 2003 - 22:51 #10
Jeg kan ikke helt greje din kode.

Jeg har lige nu dette:


<%
' Variabler
Dim fso, f, filespec

' Find den fysiske placering af folderen
filespec = Server.Mappath("..\..\cgi-bin/upload/" & request.querystring("billede"))

' FileSystem objektet
Set fso = CreateObject("Scripting.FileSystemObject")

' File objektet
Set f = fso.GetFile(filespec)

' Vis billedet der skal slettes
Response.Write "<img src='" & filespec & "'>"

f.Delete
%>

Burde det ikke først vise mit billede og derefter slette det?
Det hverken viser eller sletter. Jeg får stadigvæk 'permission denied'.
Avatar billede hossein Nybegynder
17. februar 2003 - 23:04 #11
Den med permission denied er noget med retigheder, du skal tjekke om du har retigheder til at slette/skrive på alle de mapper hvor din project ligger i. Desuden hvis du har Virus program kørende så giver det problemer, prøv at tjekke din virus program, stop den en gang også se resultatet.

Du skal først på en side vise billederne, som fx hyperlink og di værdi til dem, bagefter sender du dette værdi til en anden side som querystring eller request.form udfra det sletter du dette billede. Prøv denne vej ellers er det lidt besværligt både vise og slette på en gang synes jeg.
Avatar billede donslund Nybegynder
17. februar 2003 - 23:08 #12
Dette viser billederne på en side:

<%
Response.write "<A HREF='sletter_fil.asp?billede=" & objFile.Name & "'>"
response.write "<img src='..\..\cgi-bin/upload/" & objFile.Name & "' width='100' border='0'>" %>
</A>

Når jeg så trykker på billedet kommer den side, der skal slette dem. Men det gør den ikke
Avatar billede hossein Nybegynder
17. februar 2003 - 23:30 #13
Dim objFSO
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
objFSO.DeleteFile "C:\InetPub\wwwroot\*.jpg", False
Set objFSO = Nothing

den sletter alle jpg images. prøv den
Avatar billede donslund Nybegynder
17. februar 2003 - 23:38 #14
Det giver også permission denied. Jeg skriver lige til min host og spørger om jeg virkelig har slette rettigheder. Tak for din tålmodighed. Jeg vender tilbage. Godnat.
Avatar billede hossein Nybegynder
17. februar 2003 - 23:42 #15
Ellers forslog jeg at du bruger database det er nemmer at håndtere alt det besvær.
Avatar billede donslund Nybegynder
18. februar 2003 - 17:04 #16
Jeg er nødt til at kunne slette filer en gang i mellem, da webhotellet ellers ville blive fyldt op.

Webmasteren har givet mig andre rettigheder og nu virker dit script med at slette alle *.jpg filer. så skal jeg nok få resten til at virke.

Tak for din tålmodighed. Du fortjener pointene.
Avatar billede hossein Nybegynder
18. februar 2003 - 21:40 #17
Selv tak.
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