【问题标题】:How to specify file extension in ASP.Net upload control?如何在 ASP.Net 上传控件中指定文件扩展名?
【发布时间】:2010-09-23 10:33:45
【问题描述】:

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

我可以很容易地为 Windows 应用程序实现这一点,但在 ASP.Net 中遇到了困难

谢谢

【问题讨论】:

标签: c# .net asp.net file-upload


【解决方案1】:
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";
    }

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

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

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

        文件类型有设置。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-04-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多