Avatar billede excession Nybegynder
30. september 2002 - 23:42 Der er 7 kommentarer og
2 løsninger

sti og server.mappath()

Hej

Jeg har lidt problemer med et script der genererer thumbnails 'on the fly'

jeg refererer til billedet sådan her:
<%
response.write id & " = " & "<img src=thumbnail.asp?FileName=" & filepath & "&Size=100><BR>"
%>

men variablen filepath er en virtuel sti fra databasen, der f.eks. ser sådan ud:
billeder/2/50.jpg

i scriptet der genererer thumbnails er der lidt kode der checker om filen eksisterer og derefter manipulerer billedet med AspIMAGE

Problemet er at det ikke rigtig fungerer med virtuelle stier.. tror jeg

Jeg har fået det til at virke med absolute stier.
Hvordan får jeg lavet det så den virker med virtuelle stier?

thumbnails scriptet ser sådan ud:

<%
If Request("FileName") <> "" Then
  Set FileObject = CreateObject("Scripting.FileSystemObject")
  If FileObject.FileExists(Request("FileName")) Then

    If Request("Size") <> "" Then
      Size = Int(Request("Size"))
    Else
      Size = 50
    End If

    Response.Expires    = 0
    Set Image            = Server.CreateObject("AspImage.Image")
    Response.ContentType = "image/jpeg"
    Image.LoadImage (Request("FileName"))

        Width    = Image.MaxX
        Height  = Image.MaxY


    If Width < Size Then Size = Width
    If Width > Height Then
      NewWidth  = Round(Size/Width,2)
      NewHeight = Int(NewWidth*Height)
      Image.Resize Size,NewHeight
    Else
      NewHeight = Round(Size/Height,2)
      NewWidth  = Int(NewHeight*Width)
      Image.Resize NewWidth,Size
    End If

    Image.ImageFormat = 1
    Image.JPEGQuality = 70
    ProgressiveJPEGEncoding = true
    Response.BinaryWrite Image.Image
    Set Image = nothing
  End If
  Set FileObject = nothing

End If
%>

-- xs
Avatar billede coltau Juniormester
01. oktober 2002 - 00:06 #1
Når du refererer med virtuelle stier skal du bruger Server.MapPath

Server.MapPath("/mappemedbilleder" & filepath)

Hvor "/mappemedbiller" er den virtuelle sti fra wwwroot.

Hvis du ikke kan gå ud fra wwwroot skal du ikke starte med / men tage udgangspunkt i den mappe som asp-koden findes i.

eks:

Server.MapPath("hereraspkoden/pic" & filepath)

Håber det hjælper.
Avatar billede excession Nybegynder
01. oktober 2002 - 00:11 #2
ok

jeg synes ellers at jeg har prøvet det, men forsøger lige igen
Avatar billede excession Nybegynder
01. oktober 2002 - 00:57 #3
ok har prøvet at kigge lidt på Server.MapPath, men har ikke helt hittet det ud

hvert billede som gemmes i database hedder:
/billeder/mappeNavn/billedeNavn.jpg

koden ligger i mappen umiddelbart inden
eks.:
rodPåDomæne/mappeMedKode/billeder/mappeNavn/billedeNavn.jpg
Avatar billede excession Nybegynder
01. oktober 2002 - 01:36 #4
jeg kan også sagtens gemme stien uden filnavnet hvis det hjælper..

filepath = /billeder/mappeNavn/
filename = billedeNavn.jpg

så linket ville se sådan ud:

<%
response.write "<img src=thumbnail.asp?Path=" & filepath & "&FileName=" & filename & "&Size=100><BR><BR>"
%>
Avatar billede coltau Juniormester
01. oktober 2002 - 13:23 #5
Hvis du anvender:
filepath = /billeder/mappeNavn/
vil Server.MapPath tage udgangspunkt i wwwroot fordi pathen starter med /

Jeg vil tro at du bare kan fjerne / sådan:
filepath = "billeder/mappeNavn/"

Så for thumbnail.asp overført den relative sti i forhold til sig selv.
Avatar billede excession Nybegynder
01. oktober 2002 - 15:55 #6
hmm.. jeg kan simpelthen ikke få det til at virke
Avatar billede excession Nybegynder
01. oktober 2002 - 18:34 #7
jeg har forhøjet points fra 60 til 150 i håb om mere hjælp
Avatar billede excession Nybegynder
01. oktober 2002 - 19:36 #8
hmm

har ordnet det selv...
Avatar billede excession Nybegynder
01. oktober 2002 - 19:36 #9
coltau, du får de 50 af dem
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