Jag skulle vilja förhandsgranska en bild innan användaren godkänner och skickar upp den, hur hanterar man det på bästa sätt? Skulle helst vilja slippa spara bilden på hårddisken i det här steget utan om det är möjligt bara strömma bilden tillbaka till användaren... går det?
Haha, näe... :) Alltså så här menar jag. Innan jag sparar ned bilden så ska bilden göras mindre och sedan tänkte jag ha en sida där man kan förhandsgranska bilden innan man postar den. Självklart måste bilden skickas upp redan här men jag tänkte att det kanske skulle vara fiffigt om man inte behövde spara ned bilden på hårddisken innan den godkänts så att säga. Eller man kanske ska spara den direkt ändå och sedan om man inte godkänner bilden så plockar man bort den igen? Kan ju vara stora bilder så jag tänkte på prestanda och så, hur brukar man göra?
Om du inte vill spara den till disk innan den har blivit godkänd, så hade jag gjort följande.
1. Ladda upp filen.
2. Lägg den i en temporär cache (typ sessionen)
3. Gör en thumbnail av bilden och streama tillbaka till klienten.
4. Om användaren nu godkänner bilden, så tar du bilden från din cache och spara ner till disk.
5. Om användaren nu stänger webläsaren utan att göra något så måste du se till så bilden försvinner från cachen. Om det är session så försvinner den när sessionen dör. Om du har använt cachen så bör du ha satt en tisgräns hur länge bilden får sparas i cahcen och så kommer den plockas bort när den tiden är nådd.
Du kommer ju ta internminne på burken för att spara bildern, så om du har många och stora bilder så kan det ju ta onödiga serverresurser...
Så rent prestandamässigt så är det bättre att spara ner bilden till ett temporärt bibliotek och om bilden sedan godkänns så flyttar du bilden från det temporära biblioteket till rätt bibliotek. Om du dessutom gör nytt temporärt bibliotek för varje dag, så kan du skriva ett script som plockar bort gårdagens temporära bibliotek och du behöver inte vara orolig för att där ligger en massa gammla bilder och skräpar...
Problemet med att plocka bort bilden om man inte godkänner den, är att du inte kan garantera att användaren verkligen kommer att godkänna/icke godkänna bilden. Man kan ju bara stänga ner sin webbläsare och du har du en bild som "hänger i luften" och kommer alltid ligga kvar där du sparade den (om du inte löser det med mitt förslag ovan).
Tack, jag sparar ned den i ett temp-bibliotek istället, vet inte riktigt varför jag fick för mig att det var snabbare att cacha bilden tills den godkänts. Tack!
262 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e