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

问题描述 投票:0回答:5

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

我可以轻松地在 Windows 应用程序中实现此功能,但在 ASP.Net 上遇到困难

谢谢你

c# .net asp.net file-upload
5个回答
4
投票
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";
    }

1
投票

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

客户端 png 和 jpg 检查在大多数情况下将有助于防止浪费上传...


1
投票

使用 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

0
投票

如果您使用Flash,那么您可以定义文件类型(显然,如果有人更改文件结尾,这将无济于事)。

我们正在使用 NeatUpload,多年来一直运行良好:
http://neatupload.codeplex.com/

有文件类型的设置。


© www.soinside.com 2019 - 2024. All rights reserved.