In my Project I am Uploading Doc or PDF file for the Reference of the User during the "File Upload" browse all the files including Doc and PDF files are displaying to select so I used IF condition in my Code to check whther the file selected was DOC or PDF but I want only DOC and PDF files to be displayed for selection to discard the IF statement my Code is,
if (FileUpload1.HasFile != false)
{
// Read the file and convert it to Byte Array
string filePath = FileUpload1.PostedFile.FileName;
int size = FileUpload1.PostedFile.ContentLength;
string filename = Path.GetFileName(filePath);
string ext = Path.GetExtension(filename);
string contenttype = String.Empty;
int bufferSize = 1;
byte[] buffer = new byte[bufferSize];
//Set the contenttype based on File Extension
switch (ext)
{
case ".doc":
contenttype = "application/vnd.ms-word";
break;
case ".docx":
contenttype = "application/vnd.ms-word";
break;
case ".pdf":
contenttype = "application/pdf";
break;
}
if (size <= 5242880)
{
if (contenttype != String.Empty && ext == ".doc" || ext == ".docx" || ext == ".pdf")
{
Stream fs = FileUpload1.PostedFile.InputStream;
BinaryReader br = new BinaryReader(fs);
Byte[] bytes = br.ReadBytes((Int32)fs.Length);
string fname = @"E:\Rajesh_Kumar\Application\Valuation\ExamManagement\ExamManagement\FileUpload";
Directory.CreateDirectory(fname);
string strFullFilename = @"E:\Rajesh_Kumar\Application\Valuation\ExamManagement\ExamManagement\FileUpload\" + FileUpload1.FileName;
//SqlCommand qry = new SqlCommand("select Filepath from answerkey");
FileInfo file = new FileInfo(strFullFilename);
//FileInfo file1 = new FileInfo(qry);
fname = Path.Combine(fname, strFullFilename);
if(file.Exists)
{
lblMessage.Visible = true;
lblMessage.ForeColor = System.Drawing.Color.Red;
lblMessage.Text = "File - ''"+filename+"'' - already Exists in the Database !!!";
FileUpload1.Focus();
}
else
{
//insert the file into database
string strQuery = "insert into answerkey(Filename, Type, Data,Filepath)" + " values (@Filename, @Type, @Data,@Filepath)";
SqlCommand cmd = new SqlCommand(strQuery);
cmd.Parameters.Add("@Filename", SqlDbType.VarChar).Value = filename;
cmd.Parameters.Add("@Type", SqlDbType.VarChar).Value = contenttype;
cmd.Parameters.Add("@Data", SqlDbType.Binary).Value = bytes;
cmd.Parameters.Add("@Filepath", SqlDbType.VarChar).Value = filePath;
InsertUpdateData(cmd);
File.Copy(filePath, strFullFilename, true);
lblMessage.Visible = true;
lblMessage.ForeColor = System.Drawing.Color.Green;
string filename1 = Path.GetFileNameWithoutExtension(filename);
lblMessage.Text = "File - '' " + filename1 + " '' - of Size - ''" + size + " bytes'' - has been Uploaded Successfully";
}
}
else
{
lblMessage.Visible = true;
lblMessage.ForeColor = System.Drawing.Color.Red;
lblMessage.Text = "File format not recognised.Upload Word/PDF formats Only";
FileUpload1.Focus();
}
}
else
{
lblMessage.Visible = true;
lblMessage.ForeColor = System.Drawing.Color.Red;
lblMessage.Text = "File Size is larger than 5 MB !!!";
FileUpload1.Focus();
}
}
else
{
lblMessage.Visible = true;
lblMessage.ForeColor = System.Drawing.Color.Red;
lblMessage.Text = "Please Select a File !!!";
FileUpload1.Focus();
}
}
Thanks in Advance...