Avatar billede tblaster Nybegynder
16. juli 2003 - 11:54 Der er 13 kommentarer og
1 løsning

Konverter gif og bmp til jpg i upload script

Hejsa

Har dette upload script:

Set Upload = Server.CreateObject("Persits.Upload")
    Upload.ProgressID = Request.QueryString("PID")
    Upload.OverwriteFiles = False
Count = Upload.SaveVirtual("/iArrangementsudvalg/Pics/")
   
For Each File in Upload.Files

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

  Image.AutoSize = auto
  Image.LoadImage(server.mappath("Pics/" & File.FileName & ""))

width = File.ImageWidth

intXSize = File.ImageWidth
intYSize = File.ImageHeight
 
  If width > 563 Then
    intXSize = 563
    intYSize = (intXSize / width) * File.ImageHeight
    Image.ResizeR intXSize, intYSize
    Image.FileName = server.mappath("Pics/" & File.FileName & "")
    Image.SaveImage
  End If
 
Set Image = nothing

Hvordan får jeg ændre så hvis en bmp eller gif fil uploades så bliver den konverteret til jpg?
Avatar billede musicchart.dk Nybegynder
16. juli 2003 - 11:58 #1
Set Upload = Server.CreateObject("Persits.Upload")
    Upload.ProgressID = Request.QueryString("PID")
    Upload.OverwriteFiles = False
Count = Upload.SaveVirtual("/iArrangementsudvalg/Pics/")
   
For Each File in Upload.Files

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

  Image.AutoSize = auto
  Image.LoadImage(server.mappath("Pics/" & File.FileName & ""))

  Image.ImageFormat = 1  '1 betyder jpg
  Image.JPEGQuality = 60  'kvaliteten på billedet, 60%

width = File.ImageWidth

intXSize = File.ImageWidth
intYSize = File.ImageHeight
 
  If width > 563 Then
    intXSize = 563
    intYSize = (intXSize / width) * File.ImageHeight
    Image.ResizeR intXSize, intYSize
    Image.FileName = server.mappath("Pics/" & File.FileName & "")
    Image.SaveImage
  End If
 
Set Image = nothing
Avatar billede tblaster Nybegynder
16. juli 2003 - 12:07 #2
Den uploader billedet men det forbliver i bmp :-(
Avatar billede musicchart.dk Nybegynder
16. juli 2003 - 12:13 #3
prøv dette:

Set Upload = Server.CreateObject("Persits.Upload")
    Upload.ProgressID = Request.QueryString("PID")
    Upload.OverwriteFiles = False
Count = Upload.SaveVirtual("/iArrangementsudvalg/Pics/")
   
For Each File in Upload.Files

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

 
  Image.LoadImage(server.mappath("Pics/" & File.FileName & ""))
  Image.AutoSize = auto
 
  Image.ImageFormat = 1
  Image.JPEGQuality = 60
 
  Image.FileName = (Server.MapPath("Pics/" & File.FileName & ""))

width = File.ImageWidth

intXSize = File.ImageWidth
intYSize = File.ImageHeight
 
  If width > 563 Then
    intXSize = 563
    intYSize = (intXSize / width) * File.ImageHeight
    Image.ResizeR intXSize, intYSize
    Image.FileName = server.mappath("Pics/" & File.FileName & "")
    Image.SaveImage
  End If
 
Image.SaveImage
 
Set Image = nothing
Avatar billede musicchart.dk Nybegynder
16. juli 2003 - 12:23 #4
dette skal nok virke!!


Set Upload = Server.CreateObject("Persits.Upload")
    Upload.ProgressID = Request.QueryString("PID")
    Upload.OverwriteFiles = False
Count = Upload.SaveVirtual("/iArrangementsudvalg/Pics/")
   
For Each File in Upload.Files

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

noget = File.FileName

billede = split(noget, ".")
 
  Image.LoadImage(server.mappath("Pics/" & File.FileName & ""))
  Image.AutoSize = auto
 
  Image.ImageFormat = 1
  Image.JPEGQuality = 60
 
  Image.FileName = (Server.MapPath("Pics/" & billede(0) & ".jpg"))

width = File.ImageWidth

intXSize = File.ImageWidth
intYSize = File.ImageHeight



  If width > 563 Then
    intXSize = 563
    intYSize = (intXSize / width) * File.ImageHeight
    Image.ResizeR intXSize, intYSize
    Image.FileName = (Server.MapPath("Pics/" & billede(0) & ".jpg"))
    Image.SaveImage
  End If
 
Image.SaveImage
 
Set Image = nothing
Avatar billede tblaster Nybegynder
16. juli 2003 - 12:32 #5
Det hjalp ... men den gemmer bmp billedet ... hvordan får jeg så den kun gemmer jpg billedet?

Desuden så når jeg kalder billedet frem på siden med:

<% = File.FileName %>

Så bruger den jo billed.bmp og ikke den nye som den har lavet billed.jpg ... hvordan kommer jeg omkring dette?
Avatar billede musicchart.dk Nybegynder
16. juli 2003 - 12:34 #6
det har jeg jo skrevet i koden:

noget = File.FileName

billede = split(noget, ".")

response.write(billede(0) & ".jpg")
Avatar billede musicchart.dk Nybegynder
16. juli 2003 - 12:37 #7
du kan jo bare slette .bmp billedet igen:


dim fs,f
set fs=Server.CreateObject("Scripting.FileSystemObject")
set f=fs.GetFile(server.mappath("Pics/" & File.FileName & "")
f.Delete
set f=nothing
set fs=nothing
Avatar billede tblaster Nybegynder
16. juli 2003 - 13:28 #8
Nu jeg prøver at uploade igen så kan jeg se at den laver bmp filer om til jpg men jpg billederne er tomme ... der er intet i dem ... de fylder 0kb ... der er altså noget galt med kode ... den havde nok ikke lige opdateret da jeg prøvede før ...
Avatar billede tblaster Nybegynder
16. juli 2003 - 14:54 #9
Har ændret koden til følgende:

Set Upload = Server.CreateObject("Persits.Upload")
    Upload.ProgressID = Request.QueryString("PID")
    Upload.OverwriteFiles = False
Count = Upload.SaveVirtual("/iArrangementsudvalg/Pics/")
   
For Each File in Upload.Files

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

navn = File.FileName
billede = split(navn, ".")

Image.LoadImage(server.mappath("Pics/" & File.FileName & ""))

  Image.ImageFormat = 1
  Image.JPEGQuality = 100
  Image.FileName = (Server.MapPath("Pics/" & billede(0) & ".jpg"))

width = File.ImageWidth
intXSize = File.ImageWidth
intYSize = File.ImageHeight
 
  If width > 563 Then
    intXSize = 563
    intYSize = (intXSize / width) * File.ImageHeight
    Image.ResizeR intXSize, intYSize
    Image.FileName = server.mappath("Pics/" & File.FileName & "")
    Image.SaveImage
  End If
 
Set Image = nothing

Nu virker det med at den ændrei størrelsen og at hvis det er et bmp billede der er størerere end 563 så ændre den det til et jpg ... men hvordan gør jeg nu lige så jeg får den til at ændre et bmp der er mindre end 563 til at være en jpg fil?
Avatar billede musicchart.dk Nybegynder
16. juli 2003 - 15:19 #10
Set Upload = Server.CreateObject("Persits.Upload")
    Upload.ProgressID = Request.QueryString("PID")
    Upload.OverwriteFiles = False
Count = Upload.SaveVirtual("/iArrangementsudvalg/Pics/")
   
For Each File in Upload.Files

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

navn = File.FileName
billede = split(navn, ".")

Image.LoadImage(server.mappath("Pics/" & File.FileName & ""))

  Image.ImageFormat = 1
  Image.JPEGQuality = 100
  Image.FileName = (Server.MapPath("Pics/" & billede(0) & ".jpg"))

width = File.ImageWidth
intXSize = File.ImageWidth
intYSize = File.ImageHeight
 
  If width > 563 Then
    intXSize = 563
    intYSize = (intXSize / width) * File.ImageHeight
    Image.ResizeR intXSize, intYSize
    Image.FileName = server.mappath("Pics/" & File.FileName & "")
    Image.SaveImage
  else
    Image.SaveImage
  End If
 
Set Image = nothing
Avatar billede tblaster Nybegynder
16. juli 2003 - 15:24 #11
Det hjalp ... nu har jeg kun lige et problem med at slette bmp billedet igen. Jeg få denne fejl:

Expected ')'

I linjen:
set f=fs.GetFile(server.mappath("Pics/" & File.FileName & "")
Avatar billede tblaster Nybegynder
16. juli 2003 - 16:08 #12
Glem det ... opretter et nyt spørgsmål til det ... tak for hjælpen!
Avatar billede musicchart.dk Nybegynder
16. juli 2003 - 20:51 #13
set f=fs.GetFile(server.mappath("Pics/" & File.FileName & ""))
Avatar billede tblaster Nybegynder
17. juli 2003 - 08:59 #14
Selvfølgelig ... hvorfor havde jeg ikke set det ... tak
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