开发者

How can i upload only jpeg files?

i want to upload files that are only jpeg, jpg etc. Bu开发者_Python百科t i couldn't filter the files in the opening window. I want to change the text "all files" to jpeg etc. in the asp.net. (C#)


You could use a RegularExpressionValidator to validate if the user tries to upload jpeg-files or not:

<asp:FileUpload ID="FileUpload1" runat="server" /><br />
<br />
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" 
 Text="Upload File" />&nbsp;<br />
<br />
<asp:Label ID="Label1" runat="server"></asp:Label>
<asp:RegularExpressionValidator 
 id="RegularExpressionValidator1" runat="server" 
 ErrorMessage="Only jpeg files are allowed!" 
 ValidationExpression="^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w].*))
    +(.jpg|.JPG|.jpeg|.JPEG)$" 
 ControlToValidate="FileUpload1"></asp:RegularExpressionValidator>
<br />
<asp:RequiredFieldValidator 
 id="RequiredFieldValidator1" runat="server" 
 ErrorMessage="This is a required field!" 
 ControlToValidate="FileUpload1"></asp:RequiredFieldValidator>

on serverside:

    protected void Button1_Click(object sender, EventArgs e)
    {
        if (FileUpload1.HasFile)
        {
            string fileExt = 
               System.IO.Path.GetExtension(FileUpload1.FileName);

            if (fileExt == ".jpeg" || fileExt == ".jpg")
            {
                //do what you want with this file
            }
            else
            {
                Label1.Text = "Only .jpeg files allowed!";
            }
        }
        else
        {
            Label1.Text = "You have not specified a file.";
        }
    }

You should know that any user could change the extension f.e. from .exe to .jpg. The only way i know to check for the real file-type would be to use function from Urlmon.dll. Have a look at this SO-question if you want further informations: Using .NET, how can you find the mime type of a file based on the file signature not the extension


  • How do I validate the file type of a file upload
  • Check file extension of FileUpload control

Those will probably help you.


This is not posible in the current HTML versions.

You should check uploaded files type on the server side.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜