Avatar billede stanz2002 Nybegynder
21. oktober 2003 - 00:15 Der er 20 kommentarer og
2 løsninger

Response.Expires duer ik!

Hej..

Jeg har nedenstående kode, som skal refreshes når den loades..

Problemer er at når en bruger har uploadet et billede til hans 'profil' i databasen og gerne vil se det, så viser den det billede der lå der i forvejen og ikke det nye, som lige er blevet uploadet..

Men hvis man trykker F5 og refresher siden, så kommer det nye billede frem..

Jeg har prøvet med

Response.Expires = 0
Response.Expires = -1
Response.Expires = -1442

men det duer ik..

Ka man bytte rundt på noget af koden, så den henter det nyeste billede frem..

----------------------------------
KODEN : image_see_dk.asp
----------------------------------

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
' *** Restrict Access To Page: Grant or deny access to this page
MM_authorizedUsers=""
MM_authFailedURL="login_dk.asp"
MM_grantAccess=false
If Session("MM_Username") <> "" Then
  If (true Or CStr(Session("MM_UserAuthorization"))="") Or _
        (InStr(1,MM_authorizedUsers,Session("MM_UserAuthorization"))>=1) Then
    MM_grantAccess = true
  End If
End If
If Not MM_grantAccess Then
  MM_qsChar = "?"
  If (InStr(1,MM_authFailedURL,"?") >= 1) Then MM_qsChar = "&"
  MM_referrer = Request.ServerVariables("URL")
  if (Len(Request.QueryString()) > 0) Then MM_referrer = MM_referrer & "?" & Request.QueryString()
  MM_authFailedURL = MM_authFailedURL & MM_qsChar & "accessdenied=" & Server.URLEncode(MM_referrer)
  Response.Redirect(MM_authFailedURL)
End If
%>
<!--#include file="../../Connections/ConnApplicants.asp" -->
<%
Dim RecImage__MMColParam
RecImage__MMColParam = "1"
If (Session("MM_Username") <> "") Then
  RecImage__MMColParam = Session("MM_Username")
End If
%>
<%
Dim RecImage
Dim RecImage_numRows

Set RecImage = Server.CreateObject("ADODB.Recordset")
RecImage.ActiveConnection = MM_ConnApplicants_STRING
RecImage.Source = "SELECT * FROM applicants WHERE email = '" + Replace(RecImage__MMColParam, "'", "''") + "'"
RecImage.CursorType = 0
RecImage.CursorLocation = 2
RecImage.LockType = 1
RecImage.Open()

RecImage_numRows = 0
%>
<html>
<head>
<title>Velkommen til enMulighed</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../../stylesheet.css" rel="stylesheet" type="text/css">
</head>

<body background="../../images/background.gif" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<!-- #BeginLibraryItem "/Library/topsite_top_dk.lbi" -->
<link href="../../stylesheet.css" rel="stylesheet" type="text/css">
<table width="740" height="81" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td width="335" height="81" rowspan="2"><img src="../../flash/flash_corner.jpg" width="335" height="81"></td>
    <td width="405" height="60"><img src="../../images/logo_main.gif" width="261" height="44"></td>
  </tr>
  <tr>
    <td width="405" height="21">
      <div align="right">
        <p align="right" class="topsite-tekst"> hj&aelig;lper dig med at finde
          arbejde i Storbritanien</p>
      </div></td>
  </tr>
</table>
<!-- #EndLibraryItem --><!-- #BeginLibraryItem "/Library/topsite_flash_dk.lbi" --><table width="740" height="102" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="740" height="102">
        <param name="movie" value="../../flash/flash_dk.swf">
        <param name="quality" value="high">
        <embed src="../../flash/flash_dk.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="740" height="102"></embed></object></td>
  </tr>
</table><!-- #EndLibraryItem --><!-- #BeginLibraryItem "/Library/topsite_menu_dk.lbi" -->
<link href="../../stylesheet.css" rel="stylesheet" type="text/css">
<table width="740" height="19" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td width="15"><img src="../../images/menu_orange_left.gif" width="15" height="19"></td>
    <td colspan=3 width="658" valign="middle" bgcolor="#000000"> <div align="center" class="topsite-menu-tekst">:
        <a href="../index_dk.asp"><font color="#FFFFFF">Hjem</font></a>
        : <a href="../om_dk.asp"><font color="#FFFFFF">Om enMulighed</font></a>
        : <a href="index_dk.asp"><font color="#FFFFFF">CV</font></a>
        : <a href="../nyheder_dk.asp"><font color="#FFFFFF">Nyheder</font></a>
        : <a href="../faq_dk.asp"><font color="#FFFFFF">Sp&oslash;rgsm&aring;l &amp; Svar</font></a>
        : <a href="../links_dk.asp"><font color="#FFFFFF">Links</font></a>
        : <a href="../kontakt_dk.asp"><font color="#FFFFFF">Kontakt os</font></a> :</div></td>
    <td width="67"><img src="../../images/menu_orange_right.gif" width="67" height="19"></td>
  </tr>
</table>
<!-- #EndLibraryItem --><table width="740" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td align="center"><img src="../../images/spacer.gif" width="1" height="1"></td>
  </tr>
</table>

<table width="740" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td valign="top">

    <table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
          <td width="25%" bgcolor="DAE3E3" valign="top"><!-- #BeginLibraryItem "/Library/submenu_cv_dk.lbi" -->
<link href="../../stylesheet.css" rel="stylesheet" type="text/css">
<table width="185" border="0" cellspacing="0" cellpadding="5">
  <tr>
    <td><table width="100%" border="0" cellspacing="2" cellpadding="2">
        <tr>
          <td width="6%" height="25">&nbsp;</td>
          <td width="94%" height="25">&nbsp;</td>
        </tr>
        <tr>
          <td width="6%" height="20"><img src="../../images/other_circle_dark.gif"></td>
          <td width="94%" height="20"><a href="index_dk.asp" class="submenu-tekst">CV
            Forside</a></td>
        </tr>
        <tr>
          <td width="6%" height="20"><img src="../../images/other_circle_dark.gif"></td>
          <td width="94%" height="20"><a href="update_dk.asp" class="submenu-tekst">Opdater
            profil</a></td>
        </tr>
        <tr>
          <td width="6%" height="20"><img src="../../images/other_circle_dark.gif"></td>
          <td width="94%" height="20"><a href="image_see_dk.asp" class="submenu-tekst">Se
            dit profilbillede</a></td>
        </tr>
        <tr>
          <td width="6%" height="20"><img src="../../images/other_circle_dark.gif"></td>
          <td width="94%" height="20"><a href="image_dk.asp" class="submenu-tekst">Upload
            billede</a></td>
        </tr>
        <tr>
          <td width="6%" height="20"><img src="../../images/other_circle_dark.gif"></td>
          <td width="94%" height="20"><a href="delete_dk.asp" class="submenu-tekst">Slet
            profil</a></td>
        </tr>
        <tr>
          <td width="6%" height="20"><img src="../../images/other_circle_dark.gif"></td>
          <td width="94%" height="20"><a href="logout_dk.asp" class="submenu-tekst">Log
            af</a></td>
        </tr>
      </table></td>
  </tr>
</table>
<!-- #EndLibraryItem --></td>
     
      <td width="75%" valign="top">
        <table width="100%" border="0" cellspacing="3" cellpadding="3">
              <tr>
               
                <td valign="top" width="5%"><img src="../../images/logo_small.gif" align="absmiddle"></td>
               
                <td valign="top" width="95%"><p class="overskrift-1-grey">CV BILLEDE</p>
                  <p class="tekst">Herunder ses det billede du har til din profil.
                    Hvis du &oslash;nsker at uploade et andet billede, s&aring;
                    brug 'Upload billede' funktionen i menuen til venstre.</p>
                  <table width="500" border="0" cellspacing="0" cellpadding="0">
                    <tr>
                      <td align="center">
                     
<%                     
DIM objFSO, billed

Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

if objFSO.FileExists(Server.MapPath("\enmulighed\applicants\images\" & (RecImage.Fields.Item("ID").Value) & ".jpg")) then
%>

<img src="../../applicants/images/<%=(RecImage.Fields.Item("ID").Value)%>.jpg" alt="Image" width="200" border="2">

<%
Else
%>

<img src="../../applicants/images/noname.jpg" alt="Image" width="200" border="2">

<%
end if
%>                     
                     
                    </td>
                    </tr>
                  </table>
                  <p class="tekst"><br>
                    <br>
                  </p>
                  </td>

          </tr>
        </table>

      </td>
    </tr>
    </table>

    </td>
  </tr>
</table>

<table width="740" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td align="center"><img src="../../images/spacer.gif" width="1" height="1"></td>
  </tr>
</table>

<!-- #BeginLibraryItem "/Library/bottomsite_blackbox.lbi" --><table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td height="50" bgcolor="#000000">&nbsp;</td>
  </tr>
</table><!-- #EndLibraryItem --><!-- #BeginLibraryItem "/Library/bottomsite_copyright.lbi" -->
<link href="../../stylesheet.css" rel="stylesheet" type="text/css">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td height="20" nowrap>
      <div align="center" class="tekst">2003 Copyright enMulighed : Design by
        <a href="http://www.e-mind.dk" class="design_2">e-mind</a><a href="http://www.e-mind.dk" class="design_1">media</a></div></td>
  </tr>
</table>
<p class="design_2">&nbsp;</p>
<!-- #EndLibraryItem --></body>
</html>
<%
RecImage.Close()
Set RecImage = Nothing
%>
Avatar billede stanz2002 Nybegynder
21. oktober 2003 - 00:17 #1
Jeg har også prøvet med den her ide, men det virkede heller ik :

<%
If Request.Querystring ("update") = "true" Then

  Response.Redirect "image_see_dk.asp?update=true"

Else

  ' Alt mit indhold

End If %>
Avatar billede netro Nybegynder
21. oktober 2003 - 00:18 #2
Prøv at lave en opdatering af siden med javascript. Det plejer at hjælpe. Eller bedst af det hele - giv billederne unikke navne, så der ikke gemmer sig noget i cache'n.
Avatar billede mm12010 Nybegynder
21. oktober 2003 - 00:19 #3
<%
Response.ExpiresAbsolute = Now() - 1
Response.Expires = 0
Response.CacheControl = "no-cache"
%>
Avatar billede netro Nybegynder
21. oktober 2003 - 00:21 #4
<meta http-equiv="refresh" content="0; url=mypic.asp">

- lige når billedet er blevet uploadet og kun én gang selvfølgelig.
Avatar billede netro Nybegynder
21. oktober 2003 - 00:23 #5
Ja, du kan også godt prøve at sætte den til ikke at cache, men jeg tvivler på, det hjælper i dit tilfælde, hvor der er tale om billeder. Om ikke andet ville det i hvertfald overraske mig, hvis det fungerer i Opera og Netscape.

Response.Expires = -1
Response.AddHeader "pragma", "no-cache"
Response.CacheControl="no-cache"
Response.AddHeader "cache-control", "no-store"
Avatar billede stanz2002 Nybegynder
21. oktober 2003 - 00:27 #6
De får naven efter hvilket ID brugeren har..

Fx hvis han uploader et billede der hedder migselv.jpg omdøbes det fx til 130.jpg

---------

Jeg her prøvet den her

<%
Response.ExpiresAbsolute = Now() - 1
Response.Expires = 0
Response.CacheControl = "no-cache"
%>

og den duede heller ik :)

------------------

mht javascriptet har jeg også prøvet noget af det, men det den kode der refresher jo hele tiden og stopper ikke efter den første gang..

Hvis man sætter content til = 1000 fx så opdatere den først efter 1000 sek og ikke når siden loades..



Håber i har et par ideer mere :)
Avatar billede stanz2002 Nybegynder
21. oktober 2003 - 00:31 #7
Response.Expires = -1
Response.AddHeader "pragma", "no-cache"
Response.CacheControl="no-cache"
Response.AddHeader "cache-control", "no-store"

duer heller ik :)
Avatar billede netro Nybegynder
21. oktober 2003 - 00:41 #8
Ja, jeg har idéen med refresh, og den skulle gerne virke.

Stil brugeren hen til følgende side, når der er uploadet:

<%
Response.Redirect "side.asp?refresh=true"
%>

Herefter kan du stille følgende betingelse, så denne side kun opdaterer én gang:

<%
If Request.Querystring("refresh") Then
  Response.Write "<meta http-equiv=""refresh"" content=""0; url=side.asp"">"
End If
%>

- og det skal stå mellem <head> og </head>
Avatar billede stanz2002 Nybegynder
21. oktober 2003 - 00:52 #9
okay.. det virker..

men, man når lige at se det gamle billede inden den opdatere.. men det kan man vel ikke gøre noget ved så..

Men hvorfor ska man have den der redirect med..?? hvorfor kan man ikke bare indsætte <meta http-equiv=""refresh"" content=""0; url=side.asp""> på siden..??
Avatar billede stanz2002 Nybegynder
21. oktober 2003 - 00:56 #10
Men synes da også bare der må være en bedre mulighed.. en der fx først undersøger om det er nødvendigt at refreshe og så kun gør det hvis det er nødvendigt..

eller en der i det mindste gør det inden siden loades..
Avatar billede netro Nybegynder
21. oktober 2003 - 01:09 #11
Det er jo netop det, der sker. Vi undersøger, om der allerede er opdateret.
Det skal være klient-refresh for, at det virker her.
Avatar billede mattiw Nybegynder
21. oktober 2003 - 01:13 #12
Tjah.. jeg kan kun nikke genkendende til problemet.. Dog har jeg fundet på en løsning som virker for mig..

Hver gang jeg skriver et billede ud på en side bruger jeg en .asp-fil til at udskrive billedet i binær data, istedet for at linke direkte til billedet.
Men ellers gør jeg det at jeg sætter "?Int(Rnd*1000)" bagved billedets filnavn..

For derved vil browseren altid opfatte det som et nyt billede når der f.eks står min_bil.jpg?21651 og min_bil.jpg?786513... Det er ikke den bedste måde, men den virker overalt :) Og jeg er ikke den eneste med den løsning..


Håber det kunne bruges!
Avatar billede netro Nybegynder
21. oktober 2003 - 01:48 #13
Næ, det er skam en meget udbredt løsning. Og også ganske god - men dog mere krævende for serveren.
Avatar billede stanz2002 Nybegynder
21. oktober 2003 - 10:16 #14
okay.. jeg kigger lige på det der forslag med "?Int(Rnd*1000)" lidt senere og vender tilbage med om det virker :)
Avatar billede stanz2002 Nybegynder
21. oktober 2003 - 11:57 #15
Jeg kan ik helt få det til at virke.. er der en der kan ændre den her kode, så det sku virke :)

------------------------------------

<%                     
DIM objFSO, billed

Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

if objFSO.FileExists(Server.MapPath("\enmulighed\applicants\images\" & (RecImage.Fields.Item("ID").Value) & ".jpg")) then
%>

<img src="../../applicants/images/<%=(RecImage.Fields.Item("ID").Value)%>.jpg?<%=Int(Rnd*1000)%>" alt="Image" width="200" border="2">

<%
Else
%>

<img src="../../applicants/images/noname.jpg" alt="Image" width="200" border="2">

<%
end if
%>

----------------------------------

Desuden hvis jeg indsætter den her <%=Int(Rnd*1000)%> et sted på siden og bare får den til at vise tallet, så er det altid det samme tal (533) selvom jeg trykker F5 eller logger af og på igen.. burde den ikke skifte hver gang?
Avatar billede netro Nybegynder
21. oktober 2003 - 15:18 #16
Randomize
Int(Rnd*1000)
Avatar billede stanz2002 Nybegynder
21. oktober 2003 - 15:32 #17
Jeg er ik helt med på hvad du mener med

Randomize
Int(Rnd*1000)

hvor skal det sættes ind? eller hvordan?
Avatar billede netro Nybegynder
21. oktober 2003 - 15:37 #18
Du spurgte hvorfor, du blev ved med få samme tal. Du manglede RANDOMIZE:

<%
Randomize
Response.Write Int(Rnd*1000)
%>
Avatar billede stanz2002 Nybegynder
21. oktober 2003 - 15:38 #19
okay.. ser lige om det hjælper så :)
Avatar billede stanz2002 Nybegynder
21. oktober 2003 - 15:41 #20
SÅDAN DER............... TAKKER :) :) Nu virker skidtet sgu :)

-------------------------------------------------

Her er den endelig kode hvis nogen anden ka bruge den engang...

-------------------------------------------------

<%
DIM Random
Randomize
Random = Int(Rnd*1000)
%>

<%                     
DIM objFSO

Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

if objFSO.FileExists(Server.MapPath("\enmulighed\applicants\images\" & (RecImage.Fields.Item("ID").Value) & ".jpg")) then

%>

<img src="../../applicants/images/<%=(RecImage.Fields.Item("ID").Value)%>.jpg?<%=Random%>" alt="Image" width="200" border="2">

<%
Else
%>

<img src="../../applicants/images/noname.jpg" alt="Image" width="200" border="2">

<%
end if
%>

-----------------------------------------------
Avatar billede stanz2002 Nybegynder
21. oktober 2003 - 15:42 #21
hvis Netro lige smider et svar, så får I lige lidt point
Avatar billede netro Nybegynder
21. oktober 2003 - 16:04 #22
Fint :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester