NeatUpload 同时选择并上传多个文件
neatUpload是asp.net 中可以同时上传多个文件的控件,主页:http://neatupload.codeplex.com/。
效果如下图(显示有点不正常。。。):
使用步骤:
1. 在aspx的开始加上引用的dll,以及在html代码中添加<Upload:MultiFile ID="MultiFile1" UseFlashIfAvailable="true" runat="server" ViewStateMode="Enabled"></Upload:MultiFile>。
注意:一定要把 UseFlashIfAvailable设置为"true"
<%@ Page Language="VB" AutoEventWireup="true" CodeFile="ResourcesAddEdit.aspx.vb" Inherits="Manage_WebPages_Research_ResourcesAddEdit" %> <%@ Register Assembly="Brettle.Web.NeatUpload" Namespace="Brettle.Web.NeatUpload" TagPrefix="Upload" %> <%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %> <!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 id="Head1" runat="server"> <title>管理</title> </head> <body> <div > <Upload:MultiFile ID="MultiFile1" UseFlashIfAvailable="true" runat="server" ViewStateMode="Enabled"></Upload:MultiFile> </div> </body>
2. 后台代码,公司用的是vb,为了照顾老员工。。
For Each item As Brettle.Web.NeatUpload.UploadedFile In MultiFile1.Files ' 上传文件。 Try '上传之前的名字 Dim oldFileName As String = item.FileName '获取上传文件的文件名,包括后缀 Dim ExtenName As String = System.IO.Path.GetExtension(oldFileName) '要存在硬盘上的新文件名 Dim savedFileName As String = oldFileName.Substring(0, oldFileName.IndexOf("."c)) & "_" & DateTime.Now.ToString("yyyyMMddhhmm") & ExtenName '组合成要存储的文件名和目录 Dim fileURL As String = Path.Combine(basePath, savedFileName) If Not Directory.Exists(basePath) Then Directory.CreateDirectory(basePath) End If item.SaveAs(fileURL) Catch generatedExceptionName As Exception Page.ClientScript.RegisterClientScriptBlock(Me.GetType, "", "alert('error')") Return End Try Next
3. 如果实际运行的时候发现不能选择多个,则在web.config中设置一下
<configSections> <section name="neatUpload" type="Brettle.Web.NeatUpload.ConfigSectionHandler,Brettle.Web.NeatUpload" allowLocation="true"/> </configSections> <neatUpload useHttpModule="true" maxRequestLength="2097151" maxNormalRequestLength="4096" xmlns="http://www.brettle.com/neatupload/config/2008"/> <appSettings/>
<httpModules> <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> <add name="UploadHttpModule" type="Brettle.Web.NeatUpload.UploadHttpModule,Brettle.Web.NeatUpload"/> </httpModules>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?