Avatar billede snokey Nybegynder
21. september 2009 - 01:08 Der er 10 kommentarer og
1 løsning

Foto album.. ASP

Hej,, har lige en stump kode jeg gerne vil have lidt hjælp til., er der mulighed for at jeg kan lave billedrene mindre den skal bare resize dem.. hvis nu jeg har billeder i 800 x 600 kunne jeg godt tænke mig at den liste den laver over billedrene måske var 640x480?.. Og til sidst hvordan laver jeg fx class id på den liste den laver over mapperne så jeg kan lave linket en anden farve , hvis i forstår..  Nåh, her er koden.


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <link rel="stylesheet" type="text/css" href="..//style/hovede.css">
<%

border_size = "0"
border_color = "silver"
%>
<html>
<head>
    <title>Daniels Fotoalbum</title>
</head>
<a name="top"></a>
<body>
<p class="link" align="left">
<%
Const ForReading = 1, ForWriting = 2, ForAppending = 3
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0

qfolder = request.querystring("f")
if qfolder = "" then
    folderspec = server.mappath(".")
    Set filesys = CreateObject("Scripting.FileSystemObject")
    Set demofolder = filesys.GetFolder(folderspec)
    Set folcoll = demofolder.SubFolders
    For Each subfol in folcoll
        folsize = left((subfol.size/1000000), 3)
        folist = folist & "<a href='?f=" & subfol.name & "' ><strong title='Vis'></strong> " & subfol.Name & " </a><small>&nbsp;(" & folsize & " MB)</small>" & vbcrlf
        folist = folist & "<BR>" 
    Next
    set filesys = nothing
    Response.Write folist

else

filepath = server.mappath(".") & "\" & qfolder
captionfile = filepath & "\captions.txt"
Set filesys = CreateObject("Scripting.FileSystemObject")
Dim SomeArray()
'caption part
    If filesys.FileExists(captionfile) then
        set file = filesys.GetFile(captionfile)
        Set TextStream = file.OpenAsTextStream(ForReading,TristateUseDefault)
        captioncount = 0
        Do While Not TextStream.AtEndOfStream
            Line = TextStream.readline
            ReDim Preserve SomeArray(captioncount)
            SomeArray(captioncount) = line
            'response.write captioncount & " " & somearray(captioncount) & "<br>"
            captioncount = captioncount + 1
            'Response.write Line
        Loop
        textStream.close
    end if

'folder part
    Set demofolder = filesys.GetFolder(filepath)
    Set filecoll = demofolder.Files
    filecount = 0
    For Each file in filecoll
        Ext = UCase(Right(File.Path, 3))
        If Ext = "JPG" OR Ext = "GIF" Then
        on error resume next
        data = SomeArray(filecount)
        on error goto 0
        hrefpath = qfolder & "/" & file.name
        imagepath = "<strong>" & data & "</strong><br><a href='" & hrefpath & "' title='Billede' border=0><img src='" & hrefpath & "' border='" & border_size & "' title=""" & data & """ style='border-color: " & border_color & ";'></a><br>"
        filist = filist & imagepath & vbcrlf
        filist = filist & "<BR>"
        filecount = filecount + 1
        data = ""
        end if
    Next
    set filesys = Nothing
    filist = filist
%>
</p>
<h1>

<p align="center">
<%=qfolder%><br>
<a href="." class="link" title="Tilbage">Tilbage</a>
<p align="center" ><%=filist%></p>
<p align="center" >
<a href="." class="link" align="center" title="Tilbage">Tilbage</a></p>
<% end if %>

</p>
</h1>
</body>
</html>
Avatar billede snokey Nybegynder
21. september 2009 - 01:19 #1
Og vil gerne have når man trykker på billedet den åbner i et nyt vindue.. lige nu åbner den i samme..
Avatar billede mitbrugernavn Praktikant
21. september 2009 - 10:10 #2
tjek om du har adgang til komponent ASPImage - har du det så opret en fil der hedder thumbnails.asp med nedenstående script og læg den i samme mappe som den fil du kalder fra

<%

PWidth=Cint(request.querystring("Width"))
PHeight=Cint(request.querystring("Height"))
billed_valg = request("billed_valg")
Response.ContentType = "image/jpeg"
'*** get width/height of original image
Set Image = Server.CreateObject("AspImage.Image")

Image.LoadImage Server.Mappath(billed_valg)
ImageHeight = Image.MaxY
ImageWidth = Image.MaxX
Image.ImageFormat = 1
Image.JPEGQuality = 100

if PWidth >0 AND ImageWidth > PWidth then
NewHeight = Cint(ImageHeight*PWidth/ImageWidth)
NewWidth = PWidth
Image.ResizeR NewWidth,NewHeight
end if
if PHeight >0 AND ImageHeight > PHeight then
NewWidth = Cint(ImageWidth*PHeight/ImageHeight)
NewHeight = PHeight
Image.ResizeR NewWidth,NewHeight
end if

Response.BinaryWrite Image.Image
Set Image = Nothing
%>

skift så disse linier
<%
        imagepath = "<strong>" & data & "</strong><br><a href='" & hrefpath & "' title='Billede' border=0><img src='" & hrefpath & "' border='" & border_size & "' title=""" & data & """ style='border-color: " & border_color & ";'></a><br>"
%>
ud med
<%
        imagepath = "<strong>" & data & "</strong><br><a href='" & hrefpath & "' title='Billede' border=0 target=""_new""><img src=""thumbnails.asp?billed_valg='" & hrefpath & "'&Width=640&Height=480"" border='" & border_size & "' title=""" & data & """ style='border-color: " & border_color & ";'></a><br>"
%>
Avatar billede snokey Nybegynder
21. september 2009 - 18:07 #3
ingen fejlkode ,, men der sker ingen ting.. den viser ingen billeder. der er ASPimage..
Avatar billede snokey Nybegynder
21. september 2009 - 18:20 #4
og vil ikke have thumbnails-- Vil bare gerne have den gør billedet mindre.. det er i forvejen små billeder nemlig
Avatar billede mitbrugernavn Praktikant
22. september 2009 - 09:16 #5
thumbnails er bare navnet på filen ;-)) - går ud fra at du vil have scaleret billedet korrekt - hvis det er ligemeget så kan du bare skrive

    imagepath = "<strong>" & data & "</strong><br><a href='" & hrefpath & "' Width='640' Height='480' target='_new'  title='Billede' border=0><img src='" & hrefpath & "' border='" & border_size & "' title=""" & data & """ style='border-color: " & border_color & ";'></a><br>"
Avatar billede snokey Nybegynder
22. september 2009 - 18:39 #6
Ja gid det var så vel.. Men det virker ikke.. Den laver dem ikke mindre.. de satdig oprindelig størelse
Avatar billede snokey Nybegynder
22. september 2009 - 18:45 #7
imagepath = "<strong>" & data & "</strong><br><a href='" & hrefpath & " target='_new'  title='Billede' border=0><img src='" & hrefpath & " ' Width='200' Height='200' border='" & border_size & "' title=""" & data & """ style='border-color: " & border_color & ";'></a><br>"


Så den der line virker--

Skal lige høre om jeg ikke kan lave en class så jeg kan bruge CSS på mine links..

Den laver jo en liste med mappernes navne, som den så laver link på.. dem vil jeg gerne have givet en Class="link" så den i stylesheet kan fjerne de der farve..
Avatar billede snokey Nybegynder
22. september 2009 - 19:00 #8
Og når den kommer op i et nyt vindue kan jeg så få lavet det sådan der ikke er nogen rammer eller nået på men bare billedet der kommer op ?
Avatar billede mitbrugernavn Praktikant
22. september 2009 - 19:01 #9
beklager jeg kom til at sætte det i a href koden

link farve

    folist = folist & "<a href='?f=" & subfol.name & "'  class='test_link_farve'><strong title='Vis'></strong> " & subfol.Name & " </a><small>&nbsp;(" & folsize & " MB)</small>" & vbcrlf
        folist = folist & "<BR>"

og så laver du i test_link_farve i dit css
Avatar billede mitbrugernavn Praktikant
23. september 2009 - 08:12 #10
ramme ??? - er ikke lige helt med på hvad du mener
Avatar billede snokey Nybegynder
23. september 2009 - 18:28 #11
Tænker på statusbar og adr. line.. se evt mit nyoprettet spørgsmål under javescript
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