Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在ASP.Net上载控件中指定文件扩展名?_C#_.net_Asp.net_File Upload - Fatal编程技术网

C# 如何在ASP.Net上载控件中指定文件扩展名?

C# 如何在ASP.Net上载控件中指定文件扩展名?,c#,.net,asp.net,file-upload,C#,.net,Asp.net,File Upload,有没有办法为ASP.NET上载控件指定文件扩展名?例如,我只想上传带有jpg和png扩展名的图像 我可以在windows应用程序中轻松实现这一点,但在ASP.Net中却很难实现 谢谢您可以使用Javascript检查文件名是否以特定扩展名结尾,但这不会阻止有人将任何类型的文件重命名为.jpg或.png…因此您需要确认服务器上的实际文件类型 客户端png和jpg检查在大多数情况下都有助于防止上传浪费,不过…如果使用Flash,则可以定义文件类型(显然,如果有人更改文件结尾,这没有帮助) 我们正在使

有没有办法为ASP.NET上载控件指定文件扩展名?例如,我只想上传带有jpg和png扩展名的图像

我可以在windows应用程序中轻松实现这一点,但在ASP.Net中却很难实现


谢谢

您可以使用Javascript检查文件名是否以特定扩展名结尾,但这不会阻止有人将任何类型的文件重命名为.jpg或.png…因此您需要确认服务器上的实际文件类型


客户端png和jpg检查在大多数情况下都有助于防止上传浪费,不过…

如果使用Flash,则可以定义文件类型(显然,如果有人更改文件结尾,这没有帮助)

我们正在使用NeatUpload,多年来一直运行良好:

文件类型有一个设置。

string[]validFileTypes={“bmp”、“jpg”、“png”};
string[] validFileTypes = { "bmp", "jpg", "png" };
    string ext = Path.GetExtension(fileUpload1.FileName);
    bool isValidType = false;

    for (int i = 0; i < validFileTypes.Length; i++)
    {
        if (ext == "." + validFileTypes[i])
        {
            isValidType = true;
            break;
        }
    }

    if (!isValidType)
    {
        lblMessage.Text = "Invalid File Type";
    }
    else
    {
        lblMessage.Text = "File Uploaded Successfullty";
    }
字符串ext=Path.GetExtension(fileUpload1.FileName); bool isValidType=false; for(int i=0;i
使用LINQ/Lambda简化:

string ext = Path.GetExtension(fileUpload1.FileName);
string[] validFileTypes = { "bmp", "jpg", "jpeg", "png" };
bool isValidType = validFileTypes.Any(t => ext == "." + t);
if(isValidType)
     'do something

也许先搜索一下这个网站吧,