C# 如何避免从缓存加载图像

C# 如何避免从缓存加载图像,c#,asp.net,file-upload,C#,Asp.net,File Upload,我正在使用asp.net文件上载控件 我正在以UserID+“ProfilePic”的形式将图像上载到服务器。 上传后,我将通过代码隐藏将图像src设置为此 string FolderPath = System.Configuration.ConfigurationManager.AppSettings["PATH"].ToString(); string assoid = HttpContext.Current.Session["strAssociateId"].ToString()+"Pro

我正在使用asp.net文件上载控件

我正在以
UserID+“ProfilePic”
的形式将图像上载到服务器。 上传后,我将通过代码隐藏将图像src设置为此

string FolderPath = System.Configuration.ConfigurationManager.AppSettings["PATH"].ToString();
string assoid = HttpContext.Current.Session["strAssociateId"].ToString()+"ProfilePic.jpg";
if (FileUpload1.HasFile)
{
    try
    {
        string fileName = FileUpload1.FileName;
        FileUpload1.PostedFile.SaveAs(FolderPath +assoid);
        string imagePath = "serverpath" +assoid;
        face_crop_original.Src = imagePath;  //Problem is here
    }
}
所以这里发生的事情是上传图像,但是当我设置
image.Src=xxxx
时,它从缓存中获取旧图像!!请帮忙

public static string VersionCssUrl(string url)
    {
        // Get physical path.
        try
        {
            var path = HttpContext.Current.Server.MapPath(url);
            return url + "?v=" + String.Format(File.GetLastWriteTime(path).ToString("MMddyyhhmmss"));
        }
        catch
        {
            return url;
        }
    }
您的代码将如下所示

<img src="<%= VersionCssUrl("your src".ToString()) %>" />
“/>
现在,解释你知道会发生什么,每次都会请求文件,但它会检查文件的修改日期,因此如果没有更改,你将拥有上一个文件,它肯定会从缓存加载

如果您的文件已更改,它将自动加载新文件这一切取决于您的日期时间


我希望这将有助于您了解……:)

我找到了一个简单的解决方案,它对我很有效:)

您可以检查源代码

我所做的是按照@dholakiyaankit的建议附加了
日期时间

 string fileName = FileUpload1.FileName;
                    FileUpload1.PostedFile.SaveAs(FolderPath +assoid);
                    string imagePath = "server path" +assoid;
                    face_crop_original.Src = imagePath+"?"+DateTime.Now;
注意:这里我的imagepath变量是“xxxxxx.jpg”,所以

将是
”http://xxxxxxxx.com/imagename.jpg?Randomnumber“


这使我能够上载具有相同名称(USERID+“Profilepic”)的图像,并且我不需要编写代码来删除旧文件,因为名称将相同,并且将在服务器中被替换!

使用FileUpload1.PostedFile.SaveAs(FolderPath+assoid+datetime.now);它会要求将新图像上传到您的服务器,但每次都会将新图像上传到服务器!!我想用新图像替换旧图像:(我们是否可以指示浏览器不要使用缓存?!您正在用新名称替换新名称您可以删除order one@vignesh并添加新名称将新图像保存到文件夹中,然后您将在前端有新图像谢谢@dholakiyaankit:)我浏览并找到了一种更简单的方法!!:)我已经发布了一个答案,请检查一下!:)同样的逻辑已经发布在我的答案中
 face_crop_original.Src = imagePath+"?"+DateTime.Now;