将图片上传到 App_Themes 文件夹

本文介绍了一个使用ASP.NET实现的简单图片上传和显示功能。该应用允许用户选择并上传图片到服务器,同时提供了一个下拉菜单来选择已上传的图片进行预览。代码示例包括了前端HTML页面和后端C#逻辑。

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

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="PageImage.aspx.cs" Inherits="PageImage" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>上传图片</title>
    <style type="text/css">
        .style2
        {
            height: 64px;
        }
        .style4
        {
            height: 64px;
            width: 405px;
        }
        .style5
        {
            width: 405px;
        }
        .style6
        {
            height: 62px;
        }
    </style>
</head>
<body>
    <form id="form1" runat="server" enctype="multipart/form-data">
    <div style="text-align:center">
        &nbsp;<br />
        <br />
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
        &nbsp;<br />
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        &nbsp;&nbsp; <br />
        <table style="width: 36%;">
            <tr>
                <td class="style5">
                    <asp:FileUpload
            ID="fileUpload" runat="server" style="margin-left: 0px" Width="300px"
                        Font-Size="Medium" AccessKey="U" Font-Bold="True"
                        ToolTip="上传图片(Alt+U)" />
                </td>
                <td class="style6">
        <asp:Button ID="btnUpLoad" runat="server" OnClick="btnUpLoad_Click" Text="上传(L)"
            Height="32px" Font-Size="Medium" Width="100px" AccessKey="L" Font-Bold="True"
                        ToolTip="快捷键(Alt+L)" />
                </td>
            </tr>
            <tr>
                <td class="style4">
                    <asp:DropDownList ID="dropDownListName" runat="server" Font-Size="Medium"
                        Height="66px" style="margin-bottom: 0px" Width="300px" AccessKey="N"
                        ToolTip="快捷键(Alt+N)">
                    </asp:DropDownList>
                </td>
                <td class="style2">
                    <asp:Button ID="btnSelect" runat="server" onclick="btnSelect_Click" Text="查询(S)"
                        Width="100px" AccessKey="S" Font-Bold="True" Font-Size="Medium"
                        Height="32px" ToolTip="快捷键(Alt+S)" />
                </td>
            </tr>
        </table>
        <asp:Image ID="imageUser" runat="server" Height="351px" Width="468px" />
        <br />
        </div>
    </form>
</body>
</html>

using System;
using System.IO;
using System.Linq;

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 Hidden = File.GetAttributes(filePath) & FileAttributes.Hidden
                            where Hidden == 0
                            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)
    {
        if (!fileUpload.HasFile)
            return;
        try
        {
            string name = fileUpload.FileName;
            if (dropDownListName.Items.FindByText(name) == null)
            {
                fileUpload.SaveAs(Server.MapPath("~/App_Themes/" + name));
                dropDownListName.Items.Add(name);
                dropDownListName.Text = name;
            }
            else
                Response.Write(string.Format("图像文件名“{0}” 已存在!", name));
        }
        catch (Exception se)
        {
            Response.Write(se.Message);
        }
    }
    #endregion

    #region SelectImage
    protected void btnSelect_Click(object sender, EventArgs e)
    {
        try
        {
            imageUser.ImageUrl = string.Format("~/App_Themes/{0}", dropDownListName.Text);
        }
        catch (Exception se)
        {
            Response.Write(se.Message);
        }
    }
    #endregion
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值