[asp]Server.Mappath en FileSystemObject

Pagina: 1
Acties:

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 15:22
Hoi,

ik heb een upload script draaien. Nu wil ik op een bepaalde manier die files renamen naar een bepaald iets.
code:
1
2
3
4
5
6
Set objFSO = Server.CreateObject("Scripting.FileSystemObject") 
    Set objFile = objFSO.GetFile(Server.MapPath("\out\hr\")& strFileNameHrOld)
    Call objFile.Copy(Server.MapPath("\out\hr\") & strFileNameHrNew) 
    Call objFile.Delete() 
    Set objFile = Nothing 
    Set objFSO = Nothing

Maar als ik dan een beeldje upload, dan krijg ik op een gegeven moment de volgende melding:
File not found

Dit komt door: (Server.MapPath("\out\hr\"). Als ik het goed begrijp staat er dan:
code:
1
c:\inetpub\wwwroot\out\hr

ipv
code:
1
c:\inetpub\wwwroot\out\hr\

nu heb ik geprobeerd om het op te lossen dmv van:
(Server.Mappath("\out\hr\hr") maar dan komt er dus hrbeeldnaam.jpg te staan. En dat wil ik dus niet...

Iemand een oplossing hier voor?

Heart..pumps blood.Has nothing to do with emotion! Bored


  • Feyd-Rautha
  • Registratie: November 2001
  • Laatst online: 02-08-2025
Op dinsdag 25 juni 2002 13:12 schreef TeeDee het volgende:
Hoi,
code:
1
2
3
4
5
6
Set objFSO = Server.CreateObject("Scripting.FileSystemObject") 
    Set objFile = objFSO.GetFile(Server.MapPath("\out\hr\")& strFileNameHrOld)
    Call objFile.Copy(Server.MapPath("\out\hr\") & strFileNameHrNew) 
    Call objFile.Delete() 
    Set objFile = Nothing 
    Set objFSO = Nothing
ik dacht zo
code:
1
server.mappath("\out\hr\" & "\") ...

of
code:
1
server.mappath("\out\hr\") & "\" ...

:Z

I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. Where the fear has gone there will be nothing. Only I will remain.


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 15:22
werkt niet...

had ik ook al geprobeerd.

Heart..pumps blood.Has nothing to do with emotion! Bored


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 12:32

gorgi_19

Kruimeltjes zijn weer op :9

Probeer voor de grap eens:
code:
1
Response.Write Server.MapPath("\out\hr\") & strFileNameHrNew

Verheldert wel.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 15:22
Ik weet wat daar uitkomt:

c:\inetpub\wwwroot\out\hrfilename.jpg

maar dat moet dus worden" c:\inetpub\wwwroot\out\hr\filename.jpg

Heart..pumps blood.Has nothing to do with emotion! Bored


  • .GoO
  • Registratie: September 2001
  • Laatst online: 26-08 10:06
Kan het niet met Request.ServerVariables("APPL_PHYSICAL_PATH") ?

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 15:22
Op dinsdag 25 juni 2002 13:43 schreef devv05 het volgende:
Kan het niet met Request.ServerVariables("APPL_PHYSICAL_PATH") ?
komt op het zelfde neer. Heb het geprobeerd maar het is dus:

vanaf inetpub\wwwroot\page.asp roept ie aan:
inetpub\wwwroot\out\hr\filename.jpg

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Probeer anders eens:
code:
1
Response.Write ( Server.MapPath (".") & "\out\hr\" & strFileNameHrNew )

  • .GoO
  • Registratie: September 2001
  • Laatst online: 26-08 10:06
Op dinsdag 25 juni 2002 13:50 schreef TeeDee het volgende:

[..]

komt op het zelfde neer. Heb het geprobeerd maar het is dus:
Weet ik, maar op die manier werkt ie bij mij iig wel prima..

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 15:22
het gaat dus fout bij mij op dit moment:

...\out\hr\" dus na de laatste slash... het lijkt wel of die compleet genegeerd wordt...

Heart..pumps blood.Has nothing to do with emotion! Bored


  • .GoO
  • Registratie: September 2001
  • Laatst online: 26-08 10:06
En wat als je die tussen aanhalingstekens los ertussen zet? "\" zoiets dus?

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 15:22
nope...
precies hetzelfde... hij negeert die laatste \ gewoon...

/edit:
als ik dus die slash er los achter zet (buiten de haakjes) dan geeft ie hem wel goed weer in de response.write, maar deze wordt eigenlijk gewoon voor de gek gehouden zo....

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

als ik dus die slash er los achter zet (buiten de haakjes) dan geeft ie hem wel goed weer in de response.write, maar deze wordt eigenlijk gewoon voor de gek gehouden zo....
Tja, het blijft MickeySoft software...... ;)

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 15:22
Op dinsdag 25 juni 2002 14:09 schreef vanDee het volgende:

[..]

Tja, het blijft MickeySoft software...... ;)
briljante opmerking! |:( ;)

/edit: even wat vriendelijker gehouden ;)

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Was ook niet bedoelt als flame hoor...

ff ontopic, als je strings en vars van de Response.Write in de objFile.Copy doet, werkt het dan?

Of je vervangt Response.Write met objFile.Copy :P

/edit: typevout

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 15:22
als ik dus doe:
code:
1
response.write (Server.Mappath("/out/hr/") & strFilenameHrNew)

krijg ik:
c:/inetpub/wwwroot/out/hr

dus hij negeert het gewoon....

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Staat er wel iets in 'strFilenameHrNew'

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 15:22
ja ;)

als ik er dus van maak:
code:
1
server.mappath("/out/hr/hr")&strFileNameHrNew)

dan werkt ie gewoon, alleen dan krijgt het filename hr ervoor. En dat wil dus niet...

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Ok, just 2 be sure :Y)

Heb je
code:
1
Server.MapPath (".") & "\out\hr\" & strFileNameHrNew

geprobeert, werkt bij mij altijd met server.mapPath(".")

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 15:22
grrrrr....

hij werkt nu...
er stond ergens boven in de code een oud stukkie die voor het file een "/" zette

vandaar dat ie over z'n nek ging...

thanks!

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

er stond ergens boven in de code een oud stukkie die voor het file een "/" zette
LOL :D

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 15:22
Op dinsdag 25 juni 2002 14:41 schreef vanDee het volgende:

[..]

LOL :D
ja lach maar ;) :o

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

dit staat in de MSDN:
MapPath
The MapPath method maps the specified relative or virtual path to the corresponding physical directory on the server.

Syntax

Server.MapPath( Path )

Parameters

Path
Specifies the relative or virtual path to map to a physical directory. If Path starts with either a forward (/) or backward slash (\), the MapPath method returns a path as if Path is a full virtual path. If Path doesn't start with a slash, the MapPath method returns a path relative to the directory of the .asp file being processed.
Remarks

The MapPath method does not check whether the path it returns is valid or exists on the server. MapPath is not available in the Session.OnEnd and the Application.OnEnd events.

Because the MapPath method maps a path regardless of whether the specified directories currently exist, you can use the MapPath method to map a path to a physical directory structure, and then pass that path to a component that creates the specified directory or file on the server.
Een pad eindigt volgens mij nooit met een "\", vandaar dat MapPath deze weglaat.

  • KoeKk
  • Registratie: September 2000
  • Laatst online: 30-08 21:36
Op dinsdag 25 juni 2002 13:12 schreef TeeDee het volgende:
Hoi,

ik heb een upload script draaien. Nu wil ik op een bepaalde manier die files renamen naar een bepaald iets.
code:
1
2
3
4
5
6
Set objFSO = Server.CreateObject("Scripting.FileSystemObject") 
    Set objFile = objFSO.GetFile(Server.MapPath("\out\hr\")& strFileNameHrOld)
    Call objFile.Copy(Server.MapPath("\out\hr\") & strFileNameHrNew) 
    Call objFile.Delete() 
    Set objFile = Nothing 
    Set objFSO = Nothing

Maar als ik dan een beeldje upload, dan krijg ik op een gegeven moment de volgende melding:
File not found

<<SNIP>>
Dit zou _moeten_ werken:
code:
1
2
3
4
5
6
Set objFSO = Server.CreateObject("Scripting.FileSystemObject") 
    Set objFile = objFSO.GetFile(Server.MapPath("\out\hr\" & strFileNameHrOld))
    Call objFile.Copy(Server.MapPath("\out\hr\" & strFileNameHrNew)) 
    Call objFile.Delete() 
    Set objFile = Nothing 
    Set objFSO = Nothing

Die Server.MapPath ziet namenlijk of je een File of een Dir pakt, achter beide hoort uitendelijk geen trailing "/" te staan. Als je dan het totale pad mapt (dus inclusief je bestandsnaam) moet het goed gaan :)
Pagina: 1