.Net中FileUpload控件进行多张图片上传


今天在解决多张图片上传时,发现之前的单张上传版本,
竟然是使用FileUpload服务器控件做的,
心想,这个修改起来就方便多了,哈哈 ,
下面直接贴出代码了,包含页面代码,和.cs文件代码,
附带一个Demo演示项目,有什么不懂的可联系站长讨论


注:控件
<asp:FileUpload ID="FileLoad" runat="server" multiple="multiple"></asp:FileUpload>
multiple="multiple"  这一句是关键哦,不加的话,无法选择多张图片

FileUpload控件进行多张图片上传Demo下载

.aspx页面代码

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="LoadImage.aspx.cs" Inherits="MultUpLoad.LoadImage" %>

<!DOCTYPE html>
<html>
<head runat="server">
    <title>FileUpload控件进行多张图片上传</title>
</head>
<body>
    <form id="form1" runat="server">
    <%--注意:multiple="multiple" 这一句是关键哦,不加的话,只能选择一张图片--%>
    请选择要上传的图片:<asp:FileUpload ID="FileLoad" runat="server" multiple="multiple"></asp:FileUpload>
    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="FileLoad"
        ErrorMessage="请选择图片"></asp:RequiredFieldValidator><br />
    <asp:Button ID="btnUpload" runat="server" Width="80" Text="上传" OnClick="btnUpload_Click">
    </asp:Button>
    <asp:Label ID="LbFail" runat="server"></asp:Label>
    </form>
</body>
</html>

.cs文件代码



using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
/*
 * 本Demo只是对使用FileUpload控件进行多张图片上传
 * 具体的上传验证还需要大家自己实现哦
 * 作者:Json在线解析在线工具网--站长 www.jsons.cn
 * 有什么不理解的,可以找站长讨论,QQ群:308250404
 */
namespace MultUpLoad
{
    public partial class LoadImage : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }
        //获取当前项目的路径
        private string upPath = System.AppDomain.CurrentDomain.BaseDirectory.ToString()   "\\Image\\";
        public bool Upload()
        {
            HttpFileCollection upFiles = Request.Files;
            if (upFiles.Count > 0 && upFiles.Count < 10)
            {
                int count = 0;
                for (int i = 0; i < upFiles.Count; i  )
                {
                    string datestr = DateTime.Now.Ticks.ToString()   i;
                    string extendName = string.Empty;
                    HttpPostedFile PostedFile = upFiles[i];
                    if (PostedFile.ContentLength > 0)
                    {
                        extendName = Path.GetExtension(PostedFile.FileName.ToLower()).Replace(".", "");
                        string savePath = upPath   datestr   "."   extendName;
                        //验证照片格式
                        PostedFile.SaveAs(savePath);
                        count  = 1;//上传成功的图片数量
                    }
                }
                LbFail.Text = "上传成功"   count   "张图片";
                return true;
            }
            else
            {
                LbFail.Text = "上传失败,一次最多上传10张照片";
                return false;
            }
        }
        protected void btnUpload_Click(object sender, EventArgs e)
        {
            Upload();
        }
    }
}


原文链接:.Net中FileUpload控件进行多张图片文件上传