Toon posts:

[ASP.NET] isPostback icm on-the-fly thumb generator

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ola,

Ik post hier niet vaak omdat ik veelal mijn antwoorden vind via Google. Dit heb ik nu dus ook uitvoerig gedaan maar ik kon geen antwoord vinden.

Ik vul een Datalist met ImageButtons (met in de imageurl een autoresizer):

<asp:DataList id="DataList1" runat="server" RepeatColumns="3">
<ItemTemplate>

<asp:ImageButton
id="imgKeuze"
ImageUrl='<%# "resize.aspx?image=uploads/" & DataBinder.Eval(Container.DataItem, "name") & "&w=50&h=50"%>'
commandName='<%# Container.DataItem %>'
OnCommand='imgKeuze_Command'
runat="server">
</asp:ImageButton>

</ItemTemplate>
</asp:DataList>

OnLoad bind ik mn datalist

If Not Page.IsPostBack Then

Dim dirInfo As New DirectoryInfo(Server.MapPath("uploads/"))
DataList1.DataSource = dirInfo.GetFiles("*")
DataList1.DataBind()

End If


Ondanks dat ik in mn hoofdpagina onLoad én in mn resizer.aspx "if not ispostback" heb geplaatst moet hij bij elke command/fire event opnieuw de thumbs opvragen via resize.aspx (wat enigszins logisch is aangezien hij de src van de afbeelding nodig heeft)

Nu mijn vraag:
Is dit te omzeilen? zodat niet voor elke klik opnieuw de afbeeldingen geladen moeten worden?

[ Voor 12% gewijzigd door Verwijderd op 13-12-2005 10:29 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 11:00

gorgi_19

Kruimeltjes zijn weer op :9

Nee

oplossing: gebruik Outputcache voor je resize script.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • giMoz
  • Registratie: Augustus 2002
  • Laatst online: 02-04 08:55

giMoz

iets met meester...

maar die resize.aspx heeft ook geen postback, omdat die door de client wordt opgevraagd.

Of niet natuurlijk...


Verwijderd

Topicstarter
klopt giMoz, het was ook meer een soort van extraatje ;)

Mn resize.aspx ziet er als volgt uit:

Dim sImagePath As String = Server.MapPath(Request.QueryString("image"))
Dim oImage As System.Drawing.Image = oImage.FromFile(sImagePath)

Dim iWidth As String = Request.QueryString("w")
Dim iHeight As String = Request.QueryString("h")

Dim oThumbnail As Bitmap = oImage.GetThumbnailImage(iWidth, iHeight, Nothing, Nothing)

Response.ContentType = "image/jpeg"
oThumbnail.Save(Response.OutputStream, ImageFormat.Jpeg)

oImage.Dispose()
oThumbnail.Dispose()


Ik zal eens kijken hoe dat zit met Outputcache

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 11:00

gorgi_19

Kruimeltjes zijn weer op :9

Als je je toch zorgen maakt over performance, gebruik dan geen Page, maar een HttpHandler voor je resize script.

[ Voor 11% gewijzigd door gorgi_19 op 13-12-2005 10:55 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • giMoz
  • Registratie: Augustus 2002
  • Laatst online: 02-04 08:55

giMoz

iets met meester...

1. caching
2. thumbnails alvast genereren van te voren
3. opslaan in een database (blob) i.p.v. filesystem lezen (dat is zo ongeveer eenvan de langzaamste dingen die er bestaat)

dat zijn dingen die je kan doen om de performance te verbeteren zo ff uit het losse polsje

Of niet natuurlijk...


  • giMoz
  • Registratie: Augustus 2002
  • Laatst online: 02-04 08:55

giMoz

iets met meester...

oh, btw, misschien is het imagecanvas iets voor je om te proberen :)

http://www.c-sharpcorner.com//Code/2002/Dec/ImageCanvas.asp

Of niet natuurlijk...


  • Phenomenon
  • Registratie: December 2000
  • Laatst online: 01-04 13:18
giMoz schreef op dinsdag 13 december 2005 @ 11:03:
1. caching
2. thumbnails alvast genereren van te voren
3. opslaan in een database (blob) i.p.v. filesystem lezen (dat is zo ongeveer eenvan de langzaamste dingen die er bestaat)

dat zijn dingen die je kan doen om de performance te verbeteren zo ff uit het losse polsje
Eeeeehm een afbeelding uit je database halen is wel wat tragen als van je filesystem hoor :?

  • giMoz
  • Registratie: Augustus 2002
  • Laatst online: 02-04 08:55

giMoz

iets met meester...

niet op de manier zoals Ledu het doet, een binairy read van het filesystem is het langzaamste wat er is
(heb ik altijd geleerd, nooit zelf gest)

Of niet natuurlijk...

Pagina: 1