PageImage.aspx.cs

本文介绍了一个使用 ASP.NET 的 Web 应用程序中如何实现图片上传功能,并展示已上传图片的方法。通过 LINQ 和正则表达式筛选出合法的图片文件,确保只有特定格式的图像文件可以被上传。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

using System;
using System.IO;
using System.Linq;
using System.Text.RegularExpressions;

public partial class PageImage : System.Web.UI.Page
{

    #region Page_Load
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            try
            {
                dropDownListName.AppendDataBoundItems = false; // 在绑定数据之前清除列表项。
                var query = from filePath in Directory.GetFiles(Server.MapPath("~/App_Themes"))
                            let FileName = Path.GetFileName(filePath)
                            let Extension = Path.GetExtension(filePath)
                            let IsImage = Regex.IsMatch(Extension, @".(bmp|gif|jpg|png)", RegexOptions.IgnoreCase)
                            where IsImage
                            select FileName;
                dropDownListName.DataSource = query;
                dropDownListName.DataBind();
            }
            catch (Exception se)
            {
                Response.Write(se.Message);
            }
        }
    }
    #endregion

    #region FileUpload
    protected void btnUpLoad_Click(object sender, EventArgs e)
    {
        string name = fileUpload.FileName;
        if (Regex.IsMatch(Path.GetExtension(name), @".(bmp|gif|jpg|png)", RegexOptions.IgnoreCase))
        {
            if (dropDownListName.Items.FindByText(name) == null)
            {
                fileUpload.SaveAs(Server.MapPath("~/App_Themes/" + name));
                dropDownListName.Items.Add(name);
            }
            else
                Response.Write(string.Format("图像文件名“{0}” 已存在!", name));
        }
    }
    #endregion

    #region SelectImage
    protected void dropDownListName_SelectedIndexChanged(object sender, EventArgs e)
    {
        imageUser.ImageUrl = "~/App_Themes/" + dropDownListName.Text;
    }
    #endregion
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值