Solved

Image Refresh Fails After FileUpload When Deployed to Server

Posted on 2013-05-20
5
449 Views
Last Modified: 2013-08-07
Not panicking yet, but...  I have a simple aspx page with a FileUpload for saving and image file to a database.  The image is displayed using a Silverlight control (which is not important because it fails even if I use a plain asp:Image).  

After the user uploads the file, a button is pressed to Save it to Session.  Then a second save button is pressed to store it in the backend.  When the page is reloaded, the image is retrieved and saved to a 'cache' on the web server ( folder 'images').  A Uri is constructed for the file, which is then set to the source of the image embedded in the Silverlight control.  So the image control should be pointing to the file in the cache.

The peculiar thing is that this contraption works fine in Visual Studio 2010, but it fails when it is deployed to the server.  I suspect it has to do with the Server.MapPath line but I cannot prove it.  I observe that the file gets written to the physical server path, but I cannot see the file when I browse the web site within IIS7, so I also suspect the problem may have to do with my configuration of the IIS7 web site.
PIR.CS
0
Comment
Question by:DaveThePianoDude
  • 3
5 Comments
 
LVL 25

Expert Comment

by:Rouchie
ID: 39183870
I had a similar problem that was because the browser was caching the old image.  I solved it by adding no-cache rules to the page.  In your code it looks like the ImageUrl is constructed from a Session key, so that won't change as the user stays logged in, which means the browser 'thinks' its still getting the same image and has no idea about your back-end logic.
0
 
LVL 8

Expert Comment

by:johny_bravo1
ID: 39240597
Hi, don't know about silverlight, but if it is asp:image control, and if you are uploading and then setting that image to the control again, then the previous image is displayed. It is caused due to browsers cache functionality. If you press Ctrl + F5, does it show the new image?
If yes then the solution :  add timestamp to the image as querystring,
<img src="image.jpg?lastmod=11054524234">
then wehn you update the image timestamp will surely change and the image displayed is new one.
It worked for me. Hope you'll be benefitted
0
 

Accepted Solution

by:
DaveThePianoDude earned 0 total points
ID: 39376608
Hi - thanks for the responses.  We decided to use Obout controls for displaying the image.
0
 

Author Comment

by:DaveThePianoDude
ID: 39376612
Thanks to everyone who submitted an answer.
0
 

Author Closing Comment

by:DaveThePianoDude
ID: 39388526
In the end, it was easier to just use Obout for displaying the image.  It is both simpler and more reliable.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Please explain "Multi-Tenant Services" 5 60
Angular JS Route 3 45
SSL https .net web site force redirect 3 31
IIS issues - Convert to Application - APS.NET v4.0 3 19
ASP.Net to Oracle Connectivity Recently I had to develop an ASP.NET application connecting to an Oracle database.As I am doing it first time ,I had to solve several problems. This article will help to such developers  to develop an ASP.NET client…
Entering time in Microsoft Access can be difficult. An input mask often bothers users more than helping them and won't catch all typing errors. This article shows how to create a textbox for 24-hour time input with full validation politely catching …
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

930 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now