03. august 2002 - 09:19Der er
21 kommentarer og 3 løsninger
cache igen igen
Hej...
Jeg har lavet en brugerdel hvor brugerne kan uploade et billede af dem selv. Problemet består i, at hvis vedkommende ønsker at uploade et nyt billede så ser det ikke ud til at billedet er opdateret (det gamle ligger i cachen indtil man prøver med "åben i nyt vindue", ctrl-F5 osv.)
Jeg har prøvet med <META HTTP-EQUIV="" CONTENT="no-cache"> men det virker ikke. Kan man ikke på en eller anden måde sikre sig at det er det NYE billede man henter?
PS - er opbygget i frameset, ved ikke om det har noget at sige.
Lytter lige lidt med ;-) har samme problem, og det var ikke i et frameset, så det giver ingen forskel... Jeg løste det på en "klam" måde: la en response.redirect til si selv lige efter billedet er uploadet og skal vises.
/Steen
Synes godt om
Slettet bruger
03. august 2002 - 11:05#2
Hvad gjorde du, siger du? Forstår ikke helt hvad det er du har gjort :-)
du kan også prøve at indsætte dette (også i toppen)
Response.AppendHeader("O.K.", "22O")
skulle fortælle browseren at siden ikke er "helt god" (status 200 er normal / OK), og derfor tvinge browseren til at revalidere hele indholdet (at læse det hele ind hvergang )
;)
Synes godt om
Slettet bruger
03. august 2002 - 11:16#6
pelkjaer > samme resultat. Viser det gamle billede indtil man rammer ctrl-F5
Det er sgu lidt sjovt for hvis man åbner siden hvor billedet skal vises i et nyt vindue (højreklik -> Åbn i et nyt vindue) vises det rigtige/nye billede. Det er som om der sker noget hvis man åbner i et nyt vinduet!?
Kan du ikke bare lave en redirect side alá "dit billede er nu uploadet" :)
Synes godt om
Slettet bruger
03. august 2002 - 11:23#9
pelkjaer > tror det er det jeg gør. Formen "processes" på en anden side. Der står der så "dit billede er nu uploadet" - klikker man så tilbage til sin profil er det bare det gamle cachede billede man ser, eller er det ikke det du mener?
Det var sq' da underligt - det er sådan jeg gør på min upload side, og der vises de nye ok..
Synes godt om
Slettet bruger
03. august 2002 - 11:45#15
Måske er det fordi at billedet altid hedder <%=brugerid%>.jpg - dvs. at hvis bruger 12 uploader et nyt billede vil billedet stadigvæk hedde 12.jpg - og browseren så derfor er weird?!
Kan du så ikke lave en "delete before upload" ting.
Synes godt om
Slettet bruger
03. august 2002 - 11:51#18
pelkjaer > hmm,... altså sådan at brugeren FØRST skal ind og slette sit billede, derefter ind og uploade et nyt, eller mener du at ved upload slettes det oprindelige billede først og så uploades?
Ved sidstnævnte vil problemet garanteret være der endnu?! :-(
<% Function newFileSystemObject() set newFileSystemObject=Server.CreateObject("Scripting.FileSystemObject") End Function %>
<% Function fileExists(aFileSpec) fileExists=newFileSystemObject.fileExists(aFileSpec) End Function %>
og i dit "execute update" script
' her slettes filen inden upload Set File = CreateObject("Scripting.FileSystemObject") ImagePath = Server.MapPath("..\upload\") ImagePath = ImagePath & "\" & (rsUpload.Fields.Item("billede").Value) ' check om filen eksisterer, gør den så slet den If fileExists(ImagePath) Then File.DeleteFile(ImagePath) End If
Værd at prøve :)
Synes godt om
Slettet bruger
03. august 2002 - 12:07#21
ok, hardcore ;-)
Har smidt flg. kode ind: (mappen hvor billederne ligger hedder brugerpics, feltet i formen hedder FILE1, bruger i øvrigt AspSmartUpload)
Function newFileSystemObject() set newFileSystemObject=Server.CreateObject("Scripting.FileSystemObject") End Function
Function fileExists(aFileSpec) fileExists=newFileSystemObject.fileExists(aFileSpec) End Function
Set File = CreateObject("Scripting.FileSystemObject") ImagePath = Server.MapPath("brugerpics") ImagePath = ImagePath & "/" & (mySmartUpload.Fields.Item("FILE1").Value) ' check om filen eksisterer, gør den så slet den If fileExists(ImagePath) Then File.DeleteFile(ImagePath) End If
Men jeg ved faktisk ikke om det virker sammen med AspSmartUpload.
Synes godt om
Slettet bruger
03. august 2002 - 16:04#23
Det vil ikke. Men jeg fiksede det ved at lave en pop-up der lige viste brugerens uploadede billede. På den måde virker det. Hvis jeg nu splitter pointene 3-ways er det vel fair.
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.