2010-05-03 6 views
2

J'ai un objet Employé qui a une propriété d'image. La classe d'image contient des métadonnées d'image en tant que légende d'image et un nom de fichier d'image.Actualisation d'image ASP.NET MVC

Si je télécharge une nouvelle image pour un employé de manière asynchrone sans publication complète, la nouvelle image n'apparaît pas sur la page. J'utilise GUID pour nommer le fichier image pour éviter la mise en cache de la page.

-je faire modifier l'image de la manière suivante:

employé ctrEmployee = Repository.Get (PassedItemID);

 if (employee.ctrImage != null) 
     { 
      string fullFileName = serverFolder + employee.ctrImage.FileName; 

      FileInfo TheFile = new FileInfo(fullFileName); 

      if (TheFile.Exists) 
      { 
       TheFile.Delete(); 
      } 


      fileName = Guid.NewGuid() + ".jpg"; 
      employee.ctrImage.FileName = fileName; 
     } 

     resizedBmp.Save(string.Format("{0}{1}", serverFolder, fileName), System.Drawing.Imaging.ImageFormat.Jpeg); 

     Repository.Edit<ctrEmployee>(employee); 

     ImageID = employee.Image.Value; 


     return PartialView(UserControlPaths.Thumbnail, new ThumbnailDataModel(employee.Image.Value, 150, 150)); 

La vue partielle possède une balise d'image qui reçoit la chaîne d'URL de l'image enregistrée qui est un GUID.

Quelqu'un a une idée de ce que je fais de mal?

Répondre

0

J'ai trouvé un bug dans ma tête :)

Le problème est que la chaîne url n'a pas changé de sorte que le navigateur ne rafraîchit pas l'image.

l.