Avatar billede klinemann Nybegynder
21. marts 2007 - 20:46 Der er 10 kommentarer og
1 løsning

opret 2 billeder med asp.image konponent

hejsa, jeg har denne her som opretter et ekstra billede på 100 x ??? pixels - men jeg vil osse have den lavet endnu et på 400 x ??? pixels?

    <%
        'instansiér uploadkomponent
        Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
        'upload
        mySmartUpload.Upload
       
        'sikre at der er et billede at uploade
        If MySmartUpLoad.Files.Item("billede").FileName <> "" then
            'får lige fat i fil-endelsen
            FILEEXT = LCase(MySmartUpLoad.Files.Item("billede").FileExt)
            'opfinder nyt unikt id
            PICTIME        = replace(replace(replace(now(),":","")," ",""),"-","")
            'opfinder et nyt navn til billedet
            PICTURENAME = "billede_" & PICTIME & "." & FILEEXT
            'gemmer billedet et temporary sted
            mySmartUpload.files.item("billede").SaveAs "tempfolder/" & PICTURENAME
           
            'instansiér billedkomponent
            Set Image = Server.CreateObject("AspImage.Image")
            'load det uploadede billede
            Image.LoadImage (Server.Mappath("tempfolder/" & PICTURENAME))       
            'find højde og bredde på billede
            HEIGHT = Image.MaxY
            WIDTH = Image.MaxX
           
            sql="select * from billede"
            set rs = conn.execute(sql)
            sql ="insert into billede(navn, beskrivelse, billede, billedebredde, billedehojde, kat, dato) VALUES('" & mySmartUpload.form.item("navn" & i) & "', '" & mySmartUpload.form.item("beskrivelse" & i) & "', '" & PICTURENAME & "', '" & WIDTH & "', '" & HEIGHT & "', '" & mySmartUpload.form.item("kat" & i) & "', '" & now & "')"
            conn.execute(sql)
           
            'sikre at billedet er over 100px bred
            If cint(WIDTH) > 100 Then
                'ny bredde
                NEWWIDTH = 100
                'finder resizeprocentet
                RESIZEPERCENT    = (NEWWIDTH / WIDTH)
                'finder den proportionale højde
                NEWHEIGHT         = HEIGHT * RESIZEPERCENT
                'resize
                Image.ResizeR NEWWIDTH,NEWHEIGHT
            End If
       
            'gemmer billedet på ny og fast lokation
            Image.FileName = (Server.Mappath("realfolder/" & PICTURENAME))
            Image.SaveImage
        Else
               
        sql="select * from billede"
        set rs = conn.execute(sql)
        sql ="insert into billede(navn, beskrivelse, billede, kat, dato) VALUES('" & mySmartUpload.form.item("navn" & i) & "', '" & mySmartUpload.form.item("beskrivelse" & i) & "', 'x.gif', '" & mySmartUpload.form.item("kat" & i) & "', '" & now & "')"
        conn.execute(sql)
   
        End If
   
        'lukker vores uploadkomponent
        Set mySmartUpload = Nothing
        response.redirect ("?mode=")

    end if
   
    %>
Avatar billede madeindk Nybegynder
21. marts 2007 - 20:50 #1
Det burde da ikke være så svært.

<%
'instansiér uploadkomponent
Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
'upload
mySmartUpload.Upload
   
'sikre at der er et billede at uploade
If MySmartUpLoad.Files.Item("billede").FileName <> "" then
       
    'får lige fat i fil-endelsen
    FILEEXT = LCase(MySmartUpLoad.Files.Item("billede").FileExt)
    'opfinder nyt unikt id
    PICTIME        = replace(replace(replace(now(),":","")," ",""),"-","")
    'opfinder et nyt navn til billedet
    PICTURENAME = "billede_" & PICTIME & "." & FILEEXT
    'gemmer billedet et temporary sted
    mySmartUpload.files.item("billede").SaveAs "tempfolder/" & PICTURENAME
   
    'instansiér billedkomponent
    Set Image = Server.CreateObject("AspImage.Image")
   
    'load det uploadede billede
    Image.LoadImage (Server.Mappath("tempfolder/" & PICTURENAME))       
    'find højde og bredde på billede
   
    HEIGHT = Int(Image.MaxY)
    WIDTH = Int(Image.MaxX)
       
    sql="select * from billede"
    set rs = conn.execute(sql)
   
    sql ="insert into billede(navn, beskrivelse, billede, billedebredde, billedehojde, kat, dato) VALUES('" & mySmartUpload.form.item("navn" & i) & "', '" & mySmartUpload.form.item("beskrivelse" & i) & "', '" & PICTURENAME & "', '" & WIDTH & "', '" & HEIGHT & "', '" & mySmartUpload.form.item("kat" & i) & "', '" & now & "')"
    conn.execute(sql)
       
        'sikre at billedet er over 100px bred
        If WIDTH > 100 Then
            'ny bredde
            NEWWIDTH = 100
            'finder resizeprocentet
            RESIZEPERCENT    = (NEWWIDTH / WIDTH)
            'finder den proportionale højde
            NEWHEIGHT        = HEIGHT * RESIZEPERCENT
            'resize
            Image.ResizeR NEWWIDTH,NEWHEIGHT
        End If
   
        'gemmer billedet på ny og fast lokation
        Image.FileName = (Server.Mappath("realfolder/" & PICTURENAME))
        Image.SaveImage
       
        'sikre at billedet er over 100px bred
        If WIDTH > 400 Then
            'ny bredde
            NEWWIDTH = 400
            'finder resizeprocentet
            RESIZEPERCENT    = (NEWWIDTH / WIDTH)
            'finder den proportionale højde
            NEWHEIGHT        = HEIGHT * RESIZEPERCENT
            'resize
            Image.ResizeR NEWWIDTH,NEWHEIGHT
        End If
   
        'gemmer billedet på ny og fast lokation
        Image.FileName = (Server.Mappath("realfolder/" & PICTURENAME))
        Image.SaveImage
   
    Else
           
    sql="select * from billede"
    set rs = conn.execute(sql)
   
    sql ="insert into billede(navn, beskrivelse, billede, kat, dato) VALUES('" & mySmartUpload.form.item("navn" & i) & "', '" & mySmartUpload.form.item("beskrivelse" & i) & "', 'x.gif', '" & mySmartUpload.form.item("kat" & i) & "', '" & now & "')"
    conn.execute(sql)

    End If

    'lukker vores uploadkomponent
    Set mySmartUpload = Nothing
    response.redirect ("?mode=")

end if
%>

Har lige lavet lidt her, det burde virke. Men du skal jo nok lige rette stien for ellers vil den jo bare skrive oven på det billede der skal være 100 i breddenæ
Avatar billede klinemann Nybegynder
21. marts 2007 - 20:53 #2
den laver fint billedet men det er helt hvidt
Avatar billede madeindk Nybegynder
21. marts 2007 - 20:56 #3
Hmm... Det virker meget mærkeligt - og du angivet en anden mappe ikk?
Avatar billede klinemann Nybegynder
21. marts 2007 - 20:56 #4
jo, den hedder bare bigfolder
Avatar billede madeindk Nybegynder
21. marts 2007 - 21:00 #5
Ok, har lige skrevet scriptet lidt om nu.

<%
    'instansiér uploadkomponent
    Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
    'upload
    mySmartUpload.Upload
       
    'sikre at der er et billede at uploade
    If MySmartUpLoad.Files.Item("billede").FileName <> "" then
       
    'får lige fat i fil-endelsen
    FILEEXT = LCase(MySmartUpLoad.Files.Item("billede").FileExt)
    'opfinder nyt unikt id
    PICTIME        = replace(replace(replace(now(),":","")," ",""),"-","")
    'opfinder et nyt navn til billedet
    PICTURENAME = "billede_" & PICTIME & "." & FILEEXT
    'gemmer billedet et temporary sted
    mySmartUpload.files.item("billede").SaveAs "tempfolder/" & PICTURENAME
           
    sql="select * from billede"
    set rs = conn.execute(sql)
   
    sql ="insert into billede(navn, beskrivelse, billede, billedebredde, billedehojde, kat, dato) VALUES('" & mySmartUpload.form.item("navn" & i) & "', '" & mySmartUpload.form.item("beskrivelse" & i) & "', '" & PICTURENAME & "', '" & WIDTH & "', '" & HEIGHT & "', '" & mySmartUpload.form.item("kat" & i) & "', '" & now & "')"
    conn.execute(sql)
       
        Set Image = Server.CreateObject("AspImage.Image")
       
        Image.LoadImage (Server.Mappath("tempfolder/" & PICTURENAME))
       
        'sikre at billedet er over 100px bred
        If Int(Image.MaxX) => 100 Then

            'finder resizeprocentet
            RESIZEPERCENT    = (100 / Int(Image.MaxX))
            'finder den proportionale højde
            NEWHEIGHT        = Int(Image.MaxY) * RESIZEPERCENT
            'resize
            Image.ResizeR Cint(NEWWIDTH), Cint(NEWHEIGHT)
       
        End If
   
        'gemmer billedet på ny og fast lokation
        Image.FileName = (Server.Mappath("realfolder/" & PICTURENAME))
        Image.SaveImage
       
        Set Image = Nothing
       
        Set Image = Server.CreateObject("AspImage.Image")
       
        Image.LoadImage (Server.Mappath("tempfolder/" & PICTURENAME))
       
        'sikre at billedet er over 400 px bred
        If Int(Image.MaxX) => 400 Then
           
            'finder resizeprocentet
            RESIZEPERCENT    = (400 / Int(Image.MaxX))
            'finder den proportionale højde
            NEWHEIGHT        = Int(Image.MaxY) * RESIZEPERCENT
            'resize
            Image.ResizeR Cint(NEWWIDTH), Cint(NEWHEIGHT)
                                       
            Response.Write "Billedet blev på 400 px i bredden blev skabt OK"

        Else
          Response.Write "Det var ikke muligt at skabe billedet på 400 px grunden str på billedet!"
        End If

        ' ANGIV ANDEN MAPPE TIL BILLEDET PÅ 400 PX HER
        Image.FileName = (Server.Mappath("bigfolder/" & PICTURENAME))
        Image.SaveImage
   
        Set Image = Nothing
   
    Else
           
    sql="select * from billede"
    set rs = conn.execute(sql)
   
    sql ="insert into billede(navn, beskrivelse, billede, kat, dato) VALUES('" & mySmartUpload.form.item("navn" & i) & "', '" & mySmartUpload.form.item("beskrivelse" & i) & "', 'x.gif', '" & mySmartUpload.form.item("kat" & i) & "', '" & now & "')"
    conn.execute(sql)

    End If

    'lukker vores uploadkomponent
    Set mySmartUpload = Nothing
    'response.redirect ("?mode=")

end if
%>
Avatar billede klinemann Nybegynder
21. marts 2007 - 21:05 #6
den siger:

Billedet blev på 400 px i bredden blev skabt OK
Avatar billede madeindk Nybegynder
21. marts 2007 - 21:06 #7
Ok, men jeg fandt lige et lille bug - prøv at gør sådan her i stedet mangler lige at definere en lille variabel...

<%
    'instansiér uploadkomponent
    Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
    'upload
    mySmartUpload.Upload
       
    'sikre at der er et billede at uploade
    If MySmartUpLoad.Files.Item("billede").FileName <> "" then
       
    'får lige fat i fil-endelsen
    FILEEXT = LCase(MySmartUpLoad.Files.Item("billede").FileExt)
    'opfinder nyt unikt id
    PICTIME        = replace(replace(replace(now(),":","")," ",""),"-","")
    'opfinder et nyt navn til billedet
    PICTURENAME = "billede_" & PICTIME & "." & FILEEXT
    'gemmer billedet et temporary sted
    mySmartUpload.files.item("billede").SaveAs "tempfolder/" & PICTURENAME
           
    sql="select * from billede"
    set rs = conn.execute(sql)
   
    sql ="insert into billede(navn, beskrivelse, billede, billedebredde, billedehojde, kat, dato) VALUES('" & mySmartUpload.form.item("navn" & i) & "', '" & mySmartUpload.form.item("beskrivelse" & i) & "', '" & PICTURENAME & "', '" & WIDTH & "', '" & HEIGHT & "', '" & mySmartUpload.form.item("kat" & i) & "', '" & now & "')"
    conn.execute(sql)
       
        Set Image = Server.CreateObject("AspImage.Image")
       
        Image.LoadImage (Server.Mappath("tempfolder/" & PICTURENAME))
       
        'sikre at billedet er over 100px bred
        If Int(Image.MaxX) => 100 Then

            'finder resizeprocentet
            RESIZEPERCENT    = (100 / Int(Image.MaxX))
            'finder den proportionale højde
            NEWHEIGHT        = Int(Image.MaxY) * RESIZEPERCENT
            'resize
            Image.ResizeR 100, Cint(NEWHEIGHT)
       
        End If
   
        'gemmer billedet på ny og fast lokation
        Image.FileName = (Server.Mappath("realfolder/" & PICTURENAME))
        Image.SaveImage
       
        Set Image = Nothing
       
        Set Image = Server.CreateObject("AspImage.Image")
       
        Image.LoadImage (Server.Mappath("tempfolder/" & PICTURENAME))
       
        'sikre at billedet er over 400 px bred
        If Int(Image.MaxX) => 400 Then
           
            'finder resizeprocentet
            RESIZEPERCENT    = (400 / Int(Image.MaxX))
            'finder den proportionale højde
            NEWHEIGHT        = Int(Image.MaxY) * RESIZEPERCENT
            'resize
            Image.ResizeR 400, Cint(NEWHEIGHT)
                                       
            Response.Write "Billedet blev på 400 px i bredden blev skabt OK"

        Else
          Response.Write "Det var ikke muligt at skabe billedet på 400 px grunden str på billedet!"
        End If

        ' ANGIV ANDEN MAPPE TIL BILLEDET PÅ 400 PX HER
        Image.FileName = (Server.Mappath("bigfolder/" & PICTURENAME))
        Image.SaveImage
   
        Set Image = Nothing
   
    Else
           
    sql="select * from billede"
    set rs = conn.execute(sql)
   
    sql ="insert into billede(navn, beskrivelse, billede, kat, dato) VALUES('" & mySmartUpload.form.item("navn" & i) & "', '" & mySmartUpload.form.item("beskrivelse" & i) & "', 'x.gif', '" & mySmartUpload.form.item("kat" & i) & "', '" & now & "')"
    conn.execute(sql)

    End If

    'lukker vores uploadkomponent
    Set mySmartUpload = Nothing
    'response.redirect ("?mode=")

end if
%>
Avatar billede klinemann Nybegynder
21. marts 2007 - 21:09 #8
perfekt! - det virker osse..
Avatar billede madeindk Nybegynder
21. marts 2007 - 21:10 #9
Ok, laver den et korrekt billede nu?

For så vil jeg da lige smide et svar ;-)
Avatar billede klinemann Nybegynder
21. marts 2007 - 21:24 #10
den fungere PERFEKT!
Avatar billede madeindk Nybegynder
21. marts 2007 - 21:24 #11
Det var godt :-)
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