我想限制上傳到我的網站的文件類型。我在下面使用這個函數。如果陳述爲.jpg || .gif || .jpeg || .png
,我會寫嗎? 我不希望人們上傳exe
的。做這個的最好方式是什麼?限制要上傳的文件類型
if (FileUpload1.HasFile)
try
{
var FileExtension = Path.GetExtension(FileUpload1.PostedFile.FileName);
var Myguid = Guid.NewGuid().ToString("N");
//Check to make sure its an allowable file to be uploaded???????????
var newName = Guid.NewGuid() + FileExtension;
//Map path to folder
string realpath = Server.MapPath("Pictures\\") + newName;
//FileUpload1.SaveAs("C:\\Users\\josh\\Desktop\\JaysVersion\\PicRatingSite\\PicRatingSite\\Pictures" + FileUpload1.FileName);
FileUpload1.SaveAs(realpath);
Label1.Text = "File name: " +
FileUpload1.PostedFile.FileName + "<br>" +
FileUpload1.PostedFile.ContentLength + " kb<br>" +
"Content type: " +
FileUpload1.PostedFile.ContentType;
InsertMembers insert = new InsertMembers();
int age = Int32.Parse(txtAge.Text);
insert.InsertNewMember(txtEmail.Text, Myguid, txtName.Text, txtCity.Text, txtState.Text, txtDescription.Text, age, gender);
//Get Member Id to Insert into Pictures table
GetMemberInfo GetID = new GetMemberInfo();
int UMemberId = GetID.GetMemberId(Myguid);
Displayme.Text = newName.ToString();
//Now that i have member Id Lets insert new picture into picture table
Picture InsertnewPictures = new Picture();
int insertpics = InsertnewPictures.InserNewPicture(UMemberId, newName, 0);
}
catch (Exception ex)
{
//Handle the error
throw ex;
}
else
{
Label1.Text = "You have not specified a file.";
}
我不認爲有任何其他方式比看文件的集合看到已經上傳的文件類型來上傳。這很容易做到,但不幸的是這意味着您只能檢查這個AFTER文件是否已經發送。在較新的瀏覽器中,您可以指定允許在客戶端上顯示FILE控件的文件擴展名。 –