21. november 2005 - 12:32Der er
5 kommentarer og 1 løsning
Problemer med at få brugerens browser til at opdatere et billede.
Hej med jer,
Jeg har fået mig et billedredigeringsmodul i ASP til mit CMSystem, hvor brugerne har mulighed for at rette i oploadede billeder. Men jeg har desværre et mindre problem med at få brugernes browsere til løbende at vise de ændringer de foretager sig. Ændringerne sker, selvom de ikke vises, så det må være noget med previewbilledet, der ikke opdateres konstant.
Hvis brugeren stiller sin browser til at tjekke for nye versioner af siden ved hvert besøg, virker det -men det vil jeg meget gerne undgå at skulle.
Gem/hent/vis funktionerne er på følgende måde:
GEM:
Image.FileName = server.mappath(strBilledeDir&"/temp/preview"&session("userid")&".jpg") if Image.SaveImage then else response.write image.error Response.End end if
HENT:
<%if request("preview")="true" then Response.Expires = -1 Set Image = Server.CreateObject("AspImage.Image") Image.LoadImage server.mappath(strBilledeDir&"/temp/preview"&session("userid")&".jpg") Width = Image.MaxX Height = Image.MaxY else Set Image = Server.CreateObject("AspImage.Image") Image.LoadImage server.mappath(strBilledeDir&"\"&request("folder")&request("filename")) Width = Image.MaxX Height = Image.MaxY end if%>
Tak for dit forslag, det virker desværre ikke. Browseren fatter alligevel ikke billedet er blevet ændret, måske fordi billedet beholder det samme navn. Jeg tror jeg vil forsøge mig med en funktion, som reloader siden, såfremt billedet er blevet ændret.
hey ... klart nemmeste måde er at tinge visningen af billedet til at have en ny URL ... når du viser billedet viser du ikke bare .. image.asp?id=4 .. tilføj en random parameter... image.asp?id=4&cache=234234 .... et hint.. brug data.. tid.. timer .. eller noget andet der ændrer sig hele tiden ... en ny url til at læse billedet = en ny request af billedet.. og dermed de nyeste data...
og iøvrigt.. så bør response.expires = Now()-10 .. f.eks. skulle bruges. .og ik bare -1 .. ik altid det funker... og husk at rydde din internet cache når du ændrer cachen .. din browser gemmer så bare det gamle da det ik udløber.. det er bare i testfasen du skal det ... :)
Tak for tricket. Jeg endte med at reloade siden 2 gange, efter en ændring af billedet. Det kunne umiddelbart klare problemet, såfremt browseren stod til automatisk at kontrollere om der var kommet nye sider - og det er vist standart indstillingen. Hvis browseren står til aldrig at tjekke for nye sider, kan den heller ikke finde ud af at sætte den cookie jeg har sat som tjek parameter, og så reloader siden ikke. Jeg tror jeg tager din metode til mig og ændre det ved lejlighed, smid et svar og jeg skal belønne dig... q:o)
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.