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日

相关文章

  • 解决jQuery uploadify在非IE核心浏览器下无法上传

    解决 jQuery uploadify 在非 IE 核心浏览器下无法上传,可以通过以下步骤实现: 1. 原因 非 IE 核心浏览器(如 Chrome、Firefox 等)不允许跨域上传文件,而 uploadify 默认使用了 flash 进行文件上传,flash 模式下不能跨域上传,导致文件上传失败。 2. 解决方案 可以通过以下两种方式来解决这个问题: 2…

    C# 2023年5月31日
    00
  • SQL Server 2008 新特性 总结复习(一)

    SQL Server 2008 新特性 总结复习(一) SQL Server 2008 是微软公司开发的一款数据库管理系统软件,它具有很多新特性,本文将会对其中一些新特性进行详细讲解。 1. 影响行的Trigger 在 SQL Server 2008 中,Trigger 变得更加强大了,它可以使用 inserted 和 deleted 表来访问触发器所在表中…

    C# 2023年6月1日
    00
  • PC蓝牙通信C#代码实现

    下面将详细讲解“PC蓝牙通信C#代码实现”的完整攻略: 1. 前置知识 在开始进行PC蓝牙通信C#代码实现之前,需要了解以下前置知识: C#编程语言基础知识。 .NET Framework类库中与蓝牙通信相关的命名空间和类,例如System.IO.Ports和System.Threading等。 能够使用C#编写简单的串口通信程序。 掌握蓝牙通信协议和通信方…

    C# 2023年6月6日
    00
  • C#类型转换之自定义隐式转换和显式转换

    C#中的类型转换包括隐式转换和显式转换。当两个类型可以隐式转换时,编译器会自动进行类型转换,而当需要进行显式转换时,则需要显示的指定类型转换操作。 自定义类型转换可以让我们在自定义类型(类)之间实现隐式转换和显式转换,这样就可以让代码更加简洁,可读性更高。 要定义一个自定义类型转换,需要在类型中定义两个方法:implicit和explicit。implici…

    C# 2023年5月15日
    00
  • C#中后台post请求常用的两种方式总结

    C#中后台post请求常用的两种方式总结 在C#后台开发中,我们常常需要使用HTTP请求来和其它服务器进行通信。使用POST请求可以在请求体中携带参数,更适合传输大量数据,因此本文将主要介绍C#中后台post请求常用的两种方式:HttpClient和WebRequest。 HttpClient HttpClient是一个相对简单易用的类库。它的作用是向指定U…

    C# 2023年5月31日
    00
  • C#正则函数用法实例【匹配、替换、提取】

    C#正则表达式用法实例【匹配、替换、提取】 什么是正则表达式? 正则表达式是一种描述文本模式的语言。它可以帮助我们在一个文本字符串中匹配或查找特定的模式。在C#中,我们可以通过System.Text.RegularExpressions命名空间下的类来处理正则表达式。 正则表达式语法 正则表达式的构成由基本字符和特殊字符组成。下面是一些基本字符和特殊字符的含…

    C# 2023年6月7日
    00
  • C#中如何在Excel工作表创建混合型图表实例

    当我们使用C#编程,需要在Excel工作表中创建混合型图表时,我们可以通过以下步骤来实现: 1. 引用COM组件 首先需要引用COM组件,使用以下代码: using Excel = Microsoft.Office.Interop.Excel; 2. 创建Excel应用程序 然后我们需要创建Excel应用程序,我们可以使用以下代码: Excel.Applic…

    C# 2023年6月6日
    00
  • .Net Core日志记录之日志配置

    .Net Core日志记录之日志配置 在 .Net Core 中进行日志记录,可以帮助我们更好地了解应用程序运行时的情况,以及修复可能出现的问题。本文介绍如何在 .Net Core 应用程序中配置日志记录。 1. 新建 .Net Core Web 应用程序 首先,我们需要创建一个基本的 .Net Core Web 应用程序。可以使用 Visual Studi…

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