Avatar billede jems Nybegynder
17. januar 2002 - 16:43 Der er 9 kommentarer og
1 løsning

Resize billede efter upload

Godaw

Jeg har følgende kode:

<%
Set Upload = Server.CreateObject(\"Persits.Upload.1\")
Upload.SaveVirtual(\"/log/Partnere\")

For Each File in Upload.Files
    path = File.Path
    startIndex = InStrRev(path,\"\\\") + 1
    filnavn = MID( path, startIndex )
Next
   
For Each Item in Upload.Form
    tmpArray = tmpArray&Item.Value &\"[x$x]\"
Next

myArray = split(tmpArray,\"[x$x]\")
  for j = 0 to ubound(myArray) -1
    Partner = myArray(0)
    Link = myArray(1)
    Tekst = myArray(2)
  next

If inStr(Link, \"http://\") Then
  a = b
Else
  Link = \"http://\" & Link
End If

IQ1 = \"INSERT INTO Partnere (Partner, Tekst, Billede, Link) \"
IQ1 = IQ1 &\"VALUES (\'\"&Partner&\"\',\'\"&Tekst&\"\',\'\"&filnavn&\"\',\'\"&Link&\"\')\"
objConn.Execute(IQ1)
   
closeConnection()
%>
Billedet som bliver uploadet (jpg) skal have en maks bredde på 190px og højden skal tilpasses efter originalen (relativ)

Jeg har adgang til AspImage, jeg ved bare ikke hvordan jeg skal bruge det :$

Er der nogen der kan skære ud i pap og bøje det i neon hvordan jag skal få det her til at virke!

Jeg håber der er nogen der kan hjælpe :)

Mvh
Jens
Avatar billede invisibleman Nybegynder
17. januar 2002 - 16:45 #1
<%
    strFile = Request.QueryString(\"file\")

    \' Max bredde på thumbnails. Højde bliver automatisk justeret i korrekte størrelsesforhold
    \' så billedets aspect ratio (proportionerne) bliver bibeholdt.
    intWidth = 150

    If strFile > \"\" Then
        Set fsoSystem = Server.CreateObject(\"Scripting.FileSystemObject\")
        strCheckFile = Left(strFile, InStrRev(strFile, \".\") - 1) & \"_tmb.\" & Right(strFile, Len(strFile) - InStrRev(strFile, \".\"))

        Response.Buffer = True
        Response.AddHeader \"Content-disposition\", \"filename=\" & Right(strFile, Len(strFile) - InStrRev(strFile, \"/\"))
        Response.AddHeader \"Content-type\", \"image/jpeg\"

        If Not fsoSystem.FileExists(Server.MapPath(\"./pictures/\" & strCheckFile)) Then
            Set Image = Server.CreateObject(\"AspImage.Image\")

            Image.LoadImage Server.MapPath(\"pictures/\" & strFile)

            intRatio = (intWidth * 100) / Image.MaxX
            intNewY = CInt(Image.MaxY * (intRatio / 100))
            Image.ResizeR intWidth, intNewY
            Image.ImageFormat = 1
            Image.FileName = Server.MapPath(\"pictures/\" & strCheckFile)
            Image.SaveImage

            Set Image = nothing   
        End If

        Response.Redirect \"pictures/\" & strCheckFile
    End If
%>
Avatar billede invisibleman Nybegynder
17. januar 2002 - 16:46 #2
Hov vent .. der var lidt for meget med ..
Avatar billede invisibleman Nybegynder
17. januar 2002 - 16:47 #3
    \' Max bredde på thumbnails. Højde bliver automatisk justeret i korrekte størrelsesforhold
    \' så billedets aspect ratio (proportionerne) bliver bibeholdt.
    intWidth = 190

    Set Image = Server.CreateObject(\"AspImage.Image\")

    Image.LoadImage Server.MapPath(strFile)

    intRatio = (intWidth * 100) / Image.MaxX
    intNewY = CInt(Image.MaxY * (intRatio / 100))
    Image.ResizeR intWidth, intNewY
    Image.ImageFormat = 1
    Image.FileName = Server.MapPath(strCheckFile)
    Image.SaveImage

    Set Image = nothing   
Avatar billede invisibleman Nybegynder
17. januar 2002 - 16:49 #4
Sådan her:

Smid det efter dit database sjov, og det vil resize biledet og gemmer det oven i det uploadede (overskriver)

<%
    strFile = \"/log/partnere\" & filenavn
    \' Max bredde på thumbnails. Højde bliver automatisk justeret i korrekte størrelsesforhold
    \' så billedets aspect ratio (proportionerne) bliver bibeholdt.
    intWidth = 190

    Set Image = Server.CreateObject(\"AspImage.Image\")

    Image.LoadImage Server.MapPath(strFile)

    intRatio = (intWidth * 100) / Image.MaxX
    intNewY = CInt(Image.MaxY * (intRatio / 100))
    Image.ResizeR intWidth, intNewY
    Image.ImageFormat = 1
    Image.FileName = Server.MapPath(strFile)
    Image.SaveImage

    Set Image = nothing   
%>
Avatar billede jems Nybegynder
17. januar 2002 - 17:32 #5
Jeg satte din kode ind efter mit db sjov, men jeg får følgende fejlmeddelelse:

Microsoft VBScript runtime error \'800a000b\'

Division by zero

/administration/pops/upload.asp, line 45

Det er denne linie:
intRatio = (intWidth * 100) / Image.MaxX
Avatar billede invisibleman Nybegynder
17. januar 2002 - 17:38 #6
Hmm ...

prøv at sætte flg. LIGE inden den linie der er fejl i, og fortæl mig hvad den udskriver:

Response.Write Image.MaxX & \" - \" & Image.MaxY
Avatar billede jems Nybegynder
17. januar 2002 - 17:45 #7
Som en kedelig fodboldskamp:
0 - 0
Avatar billede invisibleman Nybegynder
17. januar 2002 - 17:47 #8
hæ hæ .. hmm ..

Måske billedet ikke eksisterer...
Avatar billede jems Nybegynder
17. januar 2002 - 17:53 #9
Jeg fandt selv fejlen:
Der mangler en \"/\" i \"strFile = \"/log/partnere\" & filenavn\" efter \"partnere\"
Så nu virker det, skønt!
Tusind tak for hjælpen :)

Mvh
Avatar billede invisibleman Nybegynder
17. januar 2002 - 18:08 #10
ahh .. *G* sorry ..
Godt du kunne bruge det :O)
Og tak for point :o)
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