Possible Duplicate:
How to restrict file type in FileUpload control
I have a problem, using my image uploader. It will upload all type of files. I need code behind, to sort out if it's an image (jpg, png and so on). Then it needs to save the path and filename in my sql. Saving name and path is up and running, so is the regular expression. I now need to incorporate som code that i have found here. The question is, how it's done?
My code behind is:
protected void btnUpload_Click(object sender, EventArgs e)
{
if (FileUpload1.PostedFile != null)
{
string FileName = Path.GetFileName(FileUpload1.PostedFile.FileName);
//Save files to disk
FileUpload1.SaveAs(Server.MapPath("~/_PublicData/Images/" + FileName));
//Add Entry to DataBase
String strConnString = System.Configuration.ConfigurationManager.ConnectionStrings["Computer_Klubben_CommunitySiteConnectionString"].ConnectionString;
SqlConnection con = new SqlConnection(strConnString);
string strQuery = "insert into dbo.Billeder (FileName, FilePath)" + " values(@FileName, @FilePath)";
SqlCommand cmd = new SqlCommand(strQuery);
cmd.Parameters.AddWithValue("@FileName", FileName);
cmd.Parameters.AddWithValue("@FilePath", "~/_PublicData/Images/" + FileName);
cmd.CommandType = CommandType.Text;
cmd.Connection = con;
try
{
con.Open();
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
finally
{
con.Close();
con.Dispose();
}
}
}
I need to put that code inside the following code, that I have found here. How can i upload only jpeg files?
Do I place my code after the code from here, or were do I place it? Please help.
protected void btnUpload_Click(object sender, EventArgs e)
{
if (FileUpload1.PostedFile != null)
{
string fileExt =
System.IO.Path.GetExtension(FileUpload1.FileName);
if (fileExt == ".jpeg" || fileExt == ".jpg")
{
string FileName = Path.GetFileName(FileUpload1.PostedFile.FileName);
//Save files to disk
FileUpload1.SaveAs(Server.MapPath("~/_PublicData/Images/" + FileName));
//Add Entry to DataBase
String strConnString = System.Configuration.ConfigurationManager.ConnectionStrings["Computer_Klubben_CommunitySiteConnectionString"].ConnectionString;
SqlConnection con = new SqlConnection(strConnString);
string strQuery = "insert into dbo.Billeder (FileName, FilePath)" + " values(@FileName, @FilePath)";
SqlCommand cmd = new SqlCommand(strQuery);
cmd.Parameters.AddWithValue("@FileName", FileName);
cmd.Parameters.AddWithValue("@FilePath", "~/_PublicData/Images/" + FileName);
cmd.CommandType = CommandType.Text;
cmd.Connection = con;
try
{
con.Open();
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
finally
{
con.Close();
con.Dispose();
}
}
else
{
//Show Error Message. Invalid file.
}
}
}
you have asked from code behing so Try this method to validate your file names if they are some image or not. by comparing their extensions.. Just pass your FileUplaod control's name to this method and validate your Button's Click..
private Boolean ImageUploadValidation(FileUpload UploadedFile)
{
String FileExtension = String.Empty, Code = String.Empty;
try
{
if (String.IsNullOrEmpty(UploadedFile.PostedFile.FileName))
{
Code = "<script> alert(' Please select file');</script>";
ClientScript.RegisterStartupScript(this.GetType(), "someKey", Code);
return false;
}
FileExtension = Path.GetExtension(UploadedFile.FileName).ToLower();
if (!FileExtension.Equals(".gif") &&
!FileExtension.Equals(".png") &&
!FileExtension.Equals(".jpg") &&
!FileExtension.Equals(".bmp") &&
!FileExtension.Equals(".gif") &&
!FileExtension.Equals(".jpeg") &&
!FileExtension.Equals(".tif") &&
!FileExtension.Equals(".tiff"))
{
Code = "<script> alert(' Please select valid file. File can be of extension(gif, png, jpg, bmp, gif, jpeg, tif, tiff)');</script>";
ClientScript.RegisterStartupScript(this.GetType(), "someKey", Code);
return false;
}
return true;
}
catch (Exception)
{
throw;
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With