Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ASP.NET fileupload images only, saving path and filename in sql table [duplicate]

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.

like image 974
Anders Avatar asked Sep 19 '12 09:09

Anders


2 Answers

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.
}


    }

}
like image 133
Kapil Khandelwal Avatar answered Sep 19 '22 19:09

Kapil Khandelwal


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;
    }
like image 26
Mayank Pathak Avatar answered Sep 23 '22 19:09

Mayank Pathak