ASP.NET(C#)实现一次性动态上传多张图片的代码(多个文件)

以下是实现 ASP.NET(C#)一次性动态上传多张图片的代码攻略。

1. 创建HTML表单

在HTML中创建一个包含多个文件的上传表单,可参考以下代码:

<form id="form1" runat="server" enctype="multipart/form-data">
    <input type="file" name="File1" id="File1" multiple/>
    <input type="submit" value="Upload" />
</form>

其中,enctype="multipart/form-data"属性设置表单类型为文件上传类型,multiple属性设置可以选择多个文件。

2. 处理上传请求

在C#代码中,需要编写一个处理上传请求的方法。可参考以下代码:

protected void Upload_Click(object sender, EventArgs e)
{
    foreach (HttpPostedFile file in Request.Files)
    {
        if (file != null && file.ContentLength > 0)
        {
            string fileName = Path.GetFileName(file.FileName);
            string filePath = Server.MapPath("~/UploadedFiles/") + fileName;
            file.SaveAs(filePath);
        }
    }
}

其中,Request.Files可以接收上传的文件,通过Path.GetFileName(file.FileName)获取文件名,Server.MapPath("~/UploadedFiles/")获取目标文件保存路径,最后保存到指定路径。

3. 完整代码

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication.UploadFiles.Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server" enctype="multipart/form-data">
        <input type="file" name="File1" id="File1" multiple/>
        <input type="submit" value="Upload" onclick="Upload_Click"/>
    </form>
</body>
</html>
using System;
using System.IO;

namespace WebApplication.UploadFiles
{
    public partial class Default : System.Web.UI.Page
    {
        protected void Upload_Click(object sender, EventArgs e)
        {
            foreach (HttpPostedFile file in Request.Files)
            {
                if (file != null && file.ContentLength > 0)
                {
                    string fileName = Path.GetFileName(file.FileName);
                    string filePath = Server.MapPath("~/UploadedFiles/") + fileName;
                    file.SaveAs(filePath);
                }
            }
        }
    }
}

4. 示例说明

示例1:保存到指定路径

在以上代码的基础上,可以修改保存文件路径,将文件保存到指定的文件夹。例如:

string fileFolder = @"D:\Uploads\";
string filePath = Path.Combine(fileFolder, fileName);
file.SaveAs(filePath);

其中,Path.Combine方法可将多个字符串路径按照正确的格式组合成一个路径。

示例2:判断文件类型

修改代码,可添加判断文件类型的逻辑。例如:

string extension = Path.GetExtension(file.FileName);
if (extension.ToLower() == ".jpg" || extension.ToLower() == ".png")
{
    string fileName = Path.GetFileName(file.FileName);
    string filePath = Server.MapPath("~/UploadedFiles/") + fileName;
    file.SaveAs(filePath);
}

其中,Path.GetExtension方法可获取文件扩展名,通过判断扩展名是否是.jpg.png,依据需求是否保存文件。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:ASP.NET(C#)实现一次性动态上传多张图片的代码(多个文件) - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • Net5 WorkService 继承 Quarzt 及 Net5处理文件上传功能

    Net5 WorkService 继承 Quarzt 及 Net5 处理文件上传功能 Net5 WorkService 继承 Quarzt 及 Net5 处理文件上传功能是一种常见的操作。本攻略将介绍如何使用 Net5 WorkService 继承 Quarzt 及 Net5 处理文件上传功能。 继承 Quarzt Quartz 是一个开源的作业调度框架,可…

    C# 2023年5月17日
    00
  • csdn 博客中实现运行代码功能实现

    实现csdn博客中运行代码功能可以使用以下两种方法: 方法一:使用CSDN编辑器 登录CSDN博客后台,在编辑器的顶部菜单中点击“插入代码”按钮,或者输入“[[toc]]”快捷键,然后点击Code按钮插入代码框。 插入代码框中分别输入该段代码的语言和代码,可以选择开启行号选项和代码复制按钮选项。例如,输入以下Java代码: public class Hell…

    C# 2023年5月31日
    00
  • C#生成带注释的dll并引用实现

    生成带注释的dll并引用实现的完整攻略如下: 1. 创建Class Library项目 首先,我们需要在Visual Studio中创建一个Class Library项目,命名为”MyLibrary”(或其他你希望名字)。 2. 编写代码并添加注释 编写一个简单的类,并为类、属性和方法添加注释。代码如下: /// <summary> /// My…

    C# 2023年6月7日
    00
  • WPF实现时钟特效

    WPF实现时钟特效 简介 WPF 是微软的一种技术,全称为 Windows Presentation Foundation,是一种基于 .NET Framework 的 UI 框架。WPF 可以创建许多华丽的 UI 特效,并且允许开发人员用 C# 或 VB.NET 等常见编程语言来创建 XAML 应用程序。 在 WPF 中,时钟特效是一种常见的应用场景,可以…

    C# 2023年6月1日
    00
  • C#连接SQL Server数据库的实例讲解

    下面是关于C#连接SQL Server数据库的完整攻略: 一、准备工作 首先需要在本地安装好SQL Server数据库,并开启相关服务。然后需要安装SqlServer.DatClient包,可以通过NuGet Package Manager搜索安装。 二、连接数据库 连接数据库的过程: using System.Data.SqlClient; namespa…

    C# 2023年6月1日
    00
  • C# TreeView读取数据库简单实例

    C# TreeView读取数据库简单实例 本文将介绍如何在C#的WinForms应用程序中,使用TreeView控件读取数据库数据,并在TreeView节点中展示出来。我们以展示行政区划(省市县)为例子。 确定数据库 我们首先要确定用于存放数据的数据库。在本例中,我们使用MySQL数据库。 创建数据库 我们需要先创建一个数据库,并在其中创建一个表结构,用于存…

    C# 2023年6月2日
    00
  • C#实现简单的飞行棋游戏

    我们来简要讲解如何实现一个简单的飞行棋游戏。 1. 游戏规则分析 在开始实现游戏前,我们需要先对飞行棋的规则进行分析: 游戏玩家为2~4人。 每个玩家都有4个棋子,初始位置位于起点。 按照顺时针方向轮流掷骰子,掷到6的可以将棋子从起点移动到起点以外的地方;其它点数则表示棋子可以向前移动相应的步数。 某个棋子走到了别人的棋子位置,就可以将别人的棋子送回起点,自…

    C# 2023年6月6日
    00
  • C# StringBuilder.Insert()方法: 在 StringBuilder 对象的指定位置插入一个字符串

    StringBuilder.Insert() 方法用于在指定索引位置插入指定的字符串或字符。它的语法如下: public StringBuilder Insert(int index, string value); public StringBuilder Insert(int index, char value); 其中,第一个参数 index 表示要在哪…

    C# 2023年4月19日
    00
合作推广
合作推广
分享本页
返回顶部