gpt4 book ai didi

c# - 验证上传的文件扩展名

转载 作者:行者123 更新时间:2023-12-04 16:10:20 24 4
gpt4 key购买 nike

上传文件工作正常,但现在我正在尝试验证文件扩展名,看起来有一些干扰
之间FileUpload1FileUpload2 .
FileUpload1用于上传 .jpg 或 .png 图片,以及 FileUpload2用于上传 .pdf 文件。

这是在 BtnInsert_Click 上执行的代码事件:

protected void BtnInsert_Click(object sender, EventArgs e)
{
string[] validPhotoFile = { ".jpg", ".png" };
string validPDFFile = ".pdf";

string photoExt = System.IO.Path.GetExtension(FileUpload1.PostedFile.FileName);
string pdfExt = System.IO.Path.GetExtension(FileUpload2.PostedFile.FileName);

bool isValidPhotoFile = false;
bool isValidPDFFile = false;

for (int i = 0; i < validPhotoFile.Length; i++)
{
if (photoExt == "." + validPhotoFile[i])
{
isValidPhotoFile = true;
break;
}
}

for (int i = 0; i < validPDFFile.Length; i++)
{
if (pdfExt == "." + validPDFFile[i])
{
isValidPDFFile = true;
break;
}
}

if (!isValidPhotoFile)
{
PhotoErrorMessage.Text = "Upload .jpg or .png image!";
}

if (!isValidPDFFile)
{
PDFErrorMessage.Text = "Upload .pdf file!";
}

else
{
string photoFilPath = Path.GetFileName(FileUpload1.PostedFile.FileName.ToString());
string pdfFilPath = Path.GetFileName(FileUpload2.PostedFile.FileName.ToString());

string photoPath = Server.MapPath(@"~/PDFCover/" + fotoFilPath);
string pdfPath = Server.MapPath(@"~/PDF/" + pdfFilPath);

FileUpload1.PostedFile.SaveAs(photoPath);
FileUpload2.PostedFile.SaveAs(pdfPath);

SqlCommand cmd = new SqlCommand("INSERT INTO Book(Title,Content...) VALUES ('" + TextBox1.Text
+ "','" + TextBox2.Text + ... + "','" + "~/PDFCover/" + photoFilPath
+ "','" + "~/PDF/" + pdfFilPath + "')", con);

con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
}

现在,即使我选择上传有效文件,它也会显示标签错误消息以上传有效文件。

最佳答案

bool CheckFileType(string fileName)
{
string ext = Path.GetExtension(fileName);
switch (ext.ToLower())
{
case ".gif":
return true;
case ".jpg":
return true;
case ".jpeg":
return true;
case ".png":
return true;
default:
return false;
}
}

if (CheckFileType(fuImage.FileName))
{
//..........
}

或使用正则表达式验证器:
<asp:RegularExpressionValidator 
ID="regexValidateImageFil" runat="server" ControlToValidate="fuImage"
ErrorMessage="file type not allow."
ValidationExpression="^([0-9a-zA-Z_\-~ :\\])+(.jpg|.JPG|.jpeg|.JPEG|.bmp|.BMP|.gif|.GIF|.png|.PNG)$"></asp:RegularExpressionValidator>

关于c# - 验证上传的文件扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25807209/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com