webForumDet fria alternativet

ASPJpeg hjälp

ASP

17 svar · 737 visningar · startad av SGuncel

Medlem sedan jan. 2007217 inlägg
Frågan#1

Hej!

Det är så att jag har börjat med ASPJpeg nu och har kommit till att man kan ändra storlek på bilden.

Det jag vill göra nu är att bildens namn ska döpas från en session och att inte orginalbilden sparas inte efter man har ändrat storleken.

Här är min kod:

<%

Set Upload = Server.CreateObject("Persits.Upload")

' Use AspJpeg to resize image
Set Jpeg = Server.CreateObject("Persits.Jpeg")

' Capture and save uploaded image to the same directory as script
Upload.SaveVirtual "bilder"

For Each File in Upload.Files
	If File.ImageType <> "JPG" Then
		Response.Write "Bilden du valde är inte jpeg format!"
		File.Delete
		Response.End
	End If

	Jpeg.Open File.Path

	L = 150

	Jpeg.Quality = 100
	Jpeg.Width = L
	Jpeg.Height = Jpeg.OriginalHeight * L / Jpeg.OriginalWidth

	Jpeg.Save Server.MapPath("bilder") & "\small_" & File.FileName
%>
	<IMG SRC="bilder/<% = File.FileName %>"><p>
	<IMG SRC="bilder/<% = "small_" & File.FileName %>"><P>
<%
Next
%>
Medlem sedan feb. 20034 441 inlägg
#2

Ska du ladda upp en bild och spara den i två "versioner" (en original och en thumb), så skulle jag rekommendera att du skapar två instanser av aspJpeg, en för originalet (om du ska modifiera den) och en för miniatyren.

Jag förstår inte exakt vad du menar med "Det jag vill göra nu är att bildens namn ska döpas från en session och att inte orginalbilden sparas inte efter man har ändrat storleken.".
Om du ska ha med ett sessionvärde i filnamnet kan du göra såhär:

myfilename = "minbild_user_" & Session("mysession") & File.Ext
Jpeg.Save(Server.MapPath("bilder") & "\" & myfilename)

När du sparat bilden, kan du använda File.Delete, för att ta bort "originalet", som ligger i den temporära mappen.

Medlem sedan jan. 2007217 inlägg
#3

Nej, jag ska ladda upp en bild som skalas om. Men efter det så sparas både orginal och bilden som har skalats och vill att orginalbilden ska raderas efter bilden har skalats.

När man laddar upp en bild så heter ju mesta DSC00007 men vill att den ska ändras till användarens namn. t.ex. DSC00007.jpg = MickeA.com.jpg

Medlem sedan feb. 20034 441 inlägg
#4

Okej, men då kan du göra exakt som jag menar ovan.
Spara bilden på det sätt jag anger, när du sparat och stängt objektet Jpeg, använde File.Delete för att ta bort originalet

Medlem sedan jan. 2007217 inlägg
#5

Microsoft VBScript compilation error '800a0401'

Expected end of statement

/aspjpeg/resize_upload.asp, line 4

Upload.SetMaxSize = 600000, True
--------------------------^

<%
Set Upload = Server.CreateObject("Persits.Upload")

Upload.SetMaxSize = 600000, True
Upload.OverwriteFiles = False

' Use AspJpeg to resize image
Set Jpeg = Server.CreateObject("Persits.Jpeg")

' Capture and save uploaded image to the same directory as script
Upload.SaveVirtual "bilder"

For Each File in Upload.Files
	If File.ImageType <> "JPG" Then
		Response.Write "Bilden du valde är inte jpeg format!"
		File.Delete
		Response.End
	End If

	Jpeg.Open File.Path

	L = 150

	Jpeg.Quality = 100
	Jpeg.Width = L
	Jpeg.Height = Jpeg.OriginalHeight * L / Jpeg.OriginalWidth

	userName = Session("UsrTLAlias").ImageType
	Jpeg.Save(Server.MapPath("bilder") & "\" & userName)
	
	Jpeg.DeleteFile = File.FileName
%>
	<IMG SRC="bilder/<% = File.FileName %>"><p>
	<IMG SRC="bilder/<% = userName %>"><P>
<%
Next
%>
Medlem sedan dec. 20014 239 inlägg
#6

Ta bort likehetstecknet.

Upload.SetMaxSize 600000, True
Medlem sedan jan. 2007217 inlägg
#7

Persits.Upload.1 error '800a0005'

The system cannot find the file specified.

/UsrSettings/resize_upload.asp, line 11

Här är felet:
' Capture and save uploaded image to the same directory as script
Upload.SaveVirtual "photos"

Medlem sedan dec. 20014 239 inlägg
#8

Har du skapat katalogen photos ? Och har du skrivrättigheter till den?

Medlem sedan jan. 2007217 inlägg
#9

Nu säger den att jag inte har session fast än jag har det.
Får det när bildens namn ska ändras till användarens namn.

Object required: 'Session(...)'
/UsrSettings/resize_upload.asp, line 28

Medlem sedan feb. 20034 441 inlägg
#10

Ändra:

userName = Session("UsrTLAlias").ImageType

Till

userName = Session("UsrTLAlias") & File.Ext

Den här raden kan du ta bort:

Jpeg.DeleteFile = File.FileName

Byt ut den till:

File.Delete
Medlem sedan jan. 2007217 inlägg
#11

Wuhuuuu nu funkar det två sista frågor hur gör man så att man får fel meddelande när bilden är störren 600kb och sen vill jag att det ska komma meddelande när bilden är uppladdad :D

Medlem sedan feb. 20034 441 inlägg
#12

Använd File.Size _innan_ du hämtar bilden med Jpeg.Open()

Lägg ett meddelande under For ... Loopen, så visas det när alla bilder behandlats.

Medlem sedan jan. 2007217 inlägg
#13

Nu förstog jag inte hur du mena.

Medlem sedan feb. 20034 441 inlägg
#14

Sööök!
http://www.aspupload.com/object_file.html#Size

If File.Size > x Then
	Response.Write("Filen för stor")
	File.Delete
	Response.End
End If
Medlem sedan jan. 2007217 inlägg
#15

Persits.Upload.1 error '800a0008'

At least one of the uploaded files exceeds the maximum allowed size.

/UsrSettings/resize_upload.asp, line 244

	If File.Size > 600000 Then
		Response.Write "Filen är för stor"
		File.Delete
		Response.End
	End If

Jag får inte fram fel meddelandet.

Medlem sedan feb. 20034 441 inlägg
#16

Kolla högst upp i din kod, där har du:

Upload.SetMaxSize = 600000, True

Sätt gränsen i din If File.Size > till _mindre_ än din SetMaxSize, så ska du se att det funkar!

Eftersom du har ifsatsen, kan du ta bort raden SetMaxSize helt och hållet!

/r Sen undrar jag verkligen om File.Size ska anges i byte? Googla eller sök här på wF ang. det!

Medlem sedan dec. 20014 239 inlägg
#17

Om du lägger in en flush då?

	If File.Size > 600000 Then
		Response.Write "Filen är för stor"
		File.Delete
		[B]Response.Flush[/B]
		Response.End
	End If
Medlem sedan feb. 20034 441 inlägg
#18

Jag misstänker att det beror på den första raden i koden, SetMaxSize.
Eftersom filstorleken överskrids redan där, kommer man aldrig till ifsatsen i koden.

281 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
131 ms — deklarationer (db)
0 ms — hämta statistik (cache)
148 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)