I am using asp.net C# FIleUpload. I am facing a problem, that is when i upload a picture and it is stored in the specified folder, upon refreshing the page the picture again gets uploaded as many times as page is refreshed. I tried enabling and disabling ViewState option but the same problem persists. I have coded my functionality in way when a picture is uploaded it will immediately get a unique name, so pictures are not overwritten. Can anybody explain how to control this behavior, so that pictures would be uploaded only on the specified upload button and not by refreshing the page. Below is the main code i am using:
protected void btnUpload_Click(object sender, EventArgs e)
{
if ((Session["Img1"] != null) && (Session["Img2"] != null) && (Session["Img3"] != null) && (Session["Img4"] != null))
{
lblUploadMsg.Text = "You cannot upload more than 4 pictures";
return;
}
if (FileUpload1.HasFile)
{
string fileExtension = System.IO.Path.GetExtension(FileUpload1.FileName);
if (fileExtension.ToLower() == ".jpg")
{
int fileSize = FileUpload1.PostedFile.ContentLength;
if (FileUpload1.PostedFile.ContentLength < 2097152)
{
//FileUpload1.SaveAs(Server.MapPath("~/Temp/" + FileUpload1.FileName));
//Response.Write("Successfully Done");
string sp = Server.MapPath("~/ItemPictures/");
String fn = Guid.NewGuid().ToString() + FileUpload1.FileName.Substring(FileUpload1.FileName.LastIndexOf("."));
if (sp.EndsWith("\\") == false)
sp += "\\";
sp += fn;
FileUpload1.PostedFile.SaveAs(sp);
lblUploadMsg.ForeColor = System.Drawing.Color.Green;
lblUploadMsg.Text = "Picture Uploaded succefully. You can upload upto 4 pictures";
Aziz.InnerHtml += "Image saved\n";
if (Session["Img1"] == null)
{
Session["Img1"] = "~/ItemPictures/" + fn;
}
else if (Session["Img2"] == null)
{
Session["Img2"] = "~/ItemPictures/" + fn;
}
else if (Session["Img3"] == null)
{
Session["Img3"] = "~/ItemPictures/" + fn;
}
else if (Session["Img4"] == null)
{
Session["Img4"] = "~/ItemPictures/" + fn;
}
}
else
{
lblUploadMsg.Text = "Maximum 2MB files are allowed";
}
}
else
{
lblUploadMsg.Text = "Only JPG files are allowed";
}
}
else
{
lblUploadMsg.Text = "No File was Selected";
}
ShowAvailblImgs();
}
private void ShowAvailblImgs()
{
if (Session["Img1"] != null)
{
Image1.ImageUrl = (string)Session["img1"];
Image1.Width = 130;
Image1.Height = 130;
Image1.Visible = true;
}
else
Image1.Visible = false;
if (Session["Img2"] != null)
{
Image2.ImageUrl = (string)Session["img2"];
Image2.Width = 130;
Image2.Height = 130;
Image2.Visible = true;
}
else
Image2.Visible = false;
if (Session["Img3"] != null)
{
Image3.ImageUrl = (string)Session["img3"];
Image3.Width = 130;
Image3.Height = 130;
Image3.Visible = true;
}
else
Image3.Visible = false;
if (Session["Img4"] != null)
{
Image4.ImageUrl = (string)Session["img4"];
Image4.Width = 130;
Image4.Height = 130;
Image4.Visible = true;
}
else
Image4.Visible = false;
}