多文件上传功能

springMVC+EasyUI 多文件上传功能 springMVC+EasyUI 多文件上传功能springMVC+EasyUI 多文件上传功能 最近做一个日志分析功能,由于log文件和日志管理项目不在同一服务器上,所以需求做一个简单的日志上传分析功能,要求可同时上传多文件,网上很多资料做多文件上传是加多个上传标签,这样就非常不方便,文件太多很麻烦,查了一些官网API,总结了一些资料,希望有帮助。这里需要用到的jar包:commons-io 阅读详情

在以前的Web应用中,上传文件是个很麻烦的事,现在有了.NET,文件上传变得轻而易举。下面的这个例子实现了多文件上传功能。可以动态添加输入表单,上传的文件数量没有限制。代码如下:

MultiUpload.aspx

<%@ Page Language="vb" AutoEventWireup="false" Codebehind="MultiUpload.aspx.vb"
 Inherits="aspxWeb.MultiUpload" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
  <HEAD>
    <title>多文件上传</title>
    <script language="JavaScript">
    function addFile()
    {
     var str = '<INPUT type="file" size="50" NAME="File">'
     document.getElementById('MyFile').insertAdjacentHTML("beforeEnd",str)
    }
    </script>
  </HEAD>
  <body>
    <form id="form1" method="post" runat="server" enctype="multipart/form-data">
      <center>
        <asp:Label Runat="server" ID="MyTitle"></asp:Label>
        <P id="MyFile"><INPUT type="file" size="50" NAME="File"></P>
        <P>
          <input type="button" value="增加(Add)" onclick="addFile()">
          <asp:Button Runat="server" Text="上传" ID="Upload"></asp:Button>
          <input onclick="this.form.reset()" type="button" value="重置(ReSet)">
        </P>
      </center>
      <P align="center">
        <asp:Label id="strStatus" runat="server" Font-Names="宋体" Font-Bold="True"
         Font-Size="9pt" Width="500px" BorderStyle="None" BorderColor="White"></asp:Label>
      </P>
    </form>
  </body>
</HTML>
后代码:MultiUpload.aspx.vb

Public Class MultiUpload
    Inherits System.Web.UI.Page
  Protected WithEvents Upload As System.Web.UI.WebControls.Button
  Protected WithEvents MyTitle As System.Web.UI.WebControls.Label
  Protected WithEvents strStatus As System.Web.UI.WebControls.Label

#Region " Web Form Designer Generated Code "

  'This call is required by the Web Form Designer.
  <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

  End Sub

  Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
    'CODEGEN: This method call is required by the Web Form Designer
    'Do not modify it using the code editor.
    InitializeComponent()
  End Sub

#End Region

  Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    MyTitle.Text = "<h3>多文件上传</h3>"
    Upload.Text = "开始上传"
    If (Me.IsPostBack) Then Me.SaveImages()
  End Sub

  Private Function SaveImages() As System.Boolean
    '遍历File表单元素
    Dim files As System.Web.HttpFileCollection = System.Web.HttpContext.Current.Request.Files

    '状态信息
    Dim strMsg As New System.Text.StringBuilder("上传的文件分别是:<hr color=red>")
    Dim iFile As System.Int32
    Try
      For iFile = 0 To files.Count - 1
        '检查文件扩展名字
        Dim postedFile As System.Web.HttpPostedFile = files(iFile)
        Dim fileName, fileExtension As System.String
        fileName = System.IO.Path.GetFileName(postedFile.FileName)
        If Not (fileName = String.Empty) Then
          fileExtension = System.IO.Path.GetExtension(fileName)
          strMsg.Append("上传的文件类型:" + postedFile.ContentType.ToString() + "<br>")
          strMsg.Append("客户端文件地址:" + postedFile.FileName + "<br>")
          strMsg.Append("上传文件的文件名:" + fileName + "<br>")
          strMsg.Append("上传文件的扩展名:" + fileExtension + "<br><hr>")
          '可根据扩展名字的不同保存到不同的文件夹
          postedFile.SaveAs(System.Web.HttpContext.Current.Request.MapPath("images/") + fileName)
        End If
      Next
      strStatus.Text = strMsg.ToString()
      Return True
    Catch Ex As System.Exception
      strStatus.Text = Ex.Message
      Return False
    End Try
  End Function
End Class
C# 版本

UpLoad.aspx

<%@ Page language="c#" Codebehind="UpLoad.aspx.cs" AutoEventWireup="false" Inherits="WebPortal.Upload" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
  <HEAD>
    <title>多文件上传</title>
    <script language="JavaScript">
    function addFile()
    {
     var str = '<INPUT type="file" size="50" NAME="File">'
     document.getElementById('MyFile').insertAdjacentHTML("beforeEnd",str)
    }
    </script>
  </HEAD>
  <body>
    <form id="form1" method="post" runat="server" enctype="multipart/form-data">
      <div align="center">
        <h3>多文件上传</h3>
        <P id="MyFile"><INPUT type="file" size="50" NAME="File"></P>
        <P>
          <input type="button" value="增加(Add)" onclick="addFile()">
          <input onclick="this.form.reset()" type="button" value="重置(ReSet)">
          <asp:Button Runat="server" Text="开始上传" ID="UploadButton"></asp:Button>
        </P>
        <P>
        <asp:Label id="strStatus" runat="server" Font-Names="宋体" Font-Bold="True" Font-Size="9pt"
          Width="500px" BorderStyle="None" BorderColor="White"></asp:Label>
        </P>
      </div>
    </form>
  </body>
</HTML>
UpLoad.aspx.cs

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace WebPortal
{
  /// <summary>
  /// UpLoad 的摘要说明。
  /// 实现多文件上传
  /// </summary>
  public class Upload : System.Web.UI.Page
  {
    protected System.Web.UI.WebControls.Button UploadButton;
    protected System.Web.UI.WebControls.Label strStatus;

    private void Page_Load(object sender, System.EventArgs e)
    {
      /// 在此处放置用户代码以初始化页面
      if (this.IsPostBack) this.SaveImages();
    }

    private Boolean SaveImages()
    {
      ///'遍历File表单元素
      HttpFileCollection files  = HttpContext.Current.Request.Files;

      /// '状态信息
      System.Text.StringBuilder strMsg = new System.Text.StringBuilder();
      strMsg.Append("上传的文件分别是:<hr color=red>");
      try
      {
        for(int iFile = 0; iFile < files.Count; iFile++)
        {
          ///'检查文件扩展名字
          HttpPostedFile postedFile = files[iFile];
          string fileName, fileExtension;
          fileName = System.IO.Path.GetFileName(postedFile.FileName);
          if (fileName != "")
          {
            fileExtension = System.IO.Path.GetExtension(fileName);
            strMsg.Append("上传的文件类型:" + postedFile.ContentType.ToString() + "<br>");
            strMsg.Append("客户端文件地址:" + postedFile.FileName + "<br>");
            strMsg.Append("上传文件的文件名:" + fileName + "<br>");
            strMsg.Append("上传文件的扩展名:" + fileExtension + "<br><hr>");
            ///'可根据扩展名字的不同保存到不同的文件夹
            ///注意:可能要修改你的文件夹的匿名写入权限。
            postedFile.SaveAs(System.Web.HttpContext.Current.Request.MapPath("images/") + fileName);
          }
        }
        strStatus.Text = strMsg.ToString();
        return true;
      }
      catch(System.Exception Ex)
      {
        strStatus.Text = Ex.Message;
        return false;
      }
    }
  #region Web 窗体设计器生成的代码
  override protected void OnInit(EventArgs e)
  {
  //
  // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
  //
  InitializeComponent();
  base.OnInit(e);
  }

  /// <summary>
  /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  /// 此方法的内容。
  /// </summary>
  private void InitializeComponent()
  {   
    this.ID = "Upload";
    this.Load += new System.EventHandler(this.Page_Load);

  }
  #endregion
  }
}
 

实现多文件上传功能的JavaScript特效代码 在Web开发中,FileList对象是一个包含了一个或多个File对象的列表,这些对象通过元素被选中时自动产生。FileList对象在用户选择多个文件时尤为重要,它使得我们能够对用户选择的每一个文件进行遍历和处理。 阅读详情

相关推荐

使用Flash技术实现多文件上传功能

本文还有配套的精品资源,点击获取 简介:文章将详细介绍如何利用Flash实现多文件上传功能,包括设计Flash界面、文件选择、读取、上传以及后端.Net处理等步骤。由于Flash已在现代Web技术中被淘汰,HTML5的FormData API成为更优的选择,但了解Flash在多文件上传中的应用对于理解Web开发历史仍有价值。 1. Flash实现多文件上传 ...

weixin_42513928的博客 1253

多文件上传

这是我开发过程中用涉及到的一个功能,现在备份下来。首先是在web.confing中做限制上传大小配置和超时的配置,httpruntime的节点下有executionTimeout,maxRequestLength两个属性。executionTimeout设置超时的时间值,默认的为90秒,如果超出这个时间,浏览器就会受到一个超时错误的通知,可以自己设置但一般不要太长啦,maxRequestLen

山里娃的专栏 724

实现防网易JS多文件上传功能的实战案例(源码附带)

HTML5 File API的引入标志着Web应用在文件操作方面的巨大飞跃。在HTML5之前,浏览器对文件的操作非常有限,主要是通过元素让用户选择文件。然而,开发者无法直接与这些文件进行交互,导致需要借助Flash、Java Applets等技术来实现文件的上传、读取等操作。随着HTML5标准的制定,File API作为其中的一个重要组成部分,于2008年首次被提出。File API提供了一系列接口,使得Web应用可以直接访问用户本地文件系统中的文件。

weixin_31569663的博客 907

C# web 上传下载文件

C# web 上传下载文件文件类型不限制,只要客户单有相对应的文件 //上传 //上下文 System.Web.HttpFileCollection files = System.Web.HttpContext.Current.Request.Files; System.Text.StringBuilder strmsg = new System.Text.Str...

weixin_34189116的博客 498

Flex4实现RemoteObject多文件上传功能

在现代Web应用中,快速高效地实现数据交换是提升用户体验的关键。RemoteObject组件作为许多前端框架中的核心组件之一,提供了一种简便的方式来与服务器进行通信,尤其是在需要处理大量数据上传或下载的场景中。在IT行业中,多文件上传需求广泛存在于各种Web应用中,比如社交媒体平台、在线教育系统、企业文档管理系统等。这些应用场景对文件上传功能有不同层面的要求,例如,社交媒体平台更看重图片和视频的快速上传与分享,而在线教育系统则可能需要上传和处理课件、试卷等文档。

weixin_42524864的博客 1320

11.文件上传FileUpload 控件

文件上传 FileUpload 控件,分享

ASP.NET实现多文件上传

前台 <script language="javascript"> function addFileControl() { var str='<input type=file name=File>' document.getElementById('FileCollection').insertAdjacentHTML("beforeEnd...

weixin_30457065的博客 174

jQuery MiniUI 2.1.5 官方版本,作个保留

jQuery MiniUI - 快速开发WebUI。 它能缩短开发时间,减少代码量,使开发者更专注于业务和服务端,轻松实现界面开发,带来绝佳的用户体验。 使用MiniUI,开发者可以快速创建Ajax无刷新、B/S快速录入数据、CRUD、Master-Detail、菜单工具栏、弹出面板、布局导航、数据验证、分页表格、树、树形表格等典型WEB应用系统界面。 产品定位: 快速开发WEB界面 使用效果: 缩短开发时间,减少代码量,提升用户体验 技术亮点: •快速开发:使用Html配置界面,减少80%界面代码量。 •易学易用:简单的API设计,可以独立、组合使用控件。 •性能优化:内置数据懒加载、低内存开销、快速界面布局等机制。 •丰富控件:包含表格、树、数据验证、布局导航等超过50个控件。 •超强表格:提供锁定列、多表头、分页排序、行过滤、数据汇总、单元格编辑、详细行、Excel导出等功能。 •第三方兼容:与ExtJS、jQuery、YUI、Dojo等任意第三方控件无缝集成。 •浏览器兼容:支持IE6+、FireFox、Chrome等。 •跨平台支持:支持Java、.NET、PHP等。

.Net中的HttpPostedFile类

服务端接收客户端上传的文件时,需要用HttpFileCollection来接收多个文件,每个文件都是个HttpPostedFile对象,之后通过SaveAs方法接收文件并保存在服务器上。 常用属性包括: 常用方法是SaveAs, 使用方式: 1 file.SaveAs(Server.MapPath("Upload/"+ FileName)); 完整代码: 1 H...

ainiechao6402的博客 1161

jQuery MiniUI

MiniUI - 专业WebUI控件库。 它能缩短开发时间,减少代码量,使开发者更专注于业务和服务端,轻松实现界面开发,带来绝佳的用户体验。

多文件上传MultipartFile

本次带来的是MultipartFile多文件文件上传,可以在sql执行完成,没有出现异常,再将文件保存进我们的服务器,如果出现异常,文件不会上传到我们的服务器

UNIAPP实现的复杂功能:图片和视频多文件上传功能

UNIAPP实现的复杂功能:图片和视频多文件上传功能

安 2253

浅谈MOS管的发热原因和解决办法

解读一下开关管发热原因,解决方案和开关损耗测试。

qq_45508321的博客 1万+

layui多文件上传讲解_layui的多文件列表上传功能前端代码

html页面的代码(注意:引入layui相关的css):选择多文件文件名大小状态操作xxx.txtxxxkb等待上传重传删除js的编写(引入layui相关的js):layui.use(['upload','form','layer','laydate'], function(){var $ = layui.jquery,upload = layui.upload,form = layui.form...

weixin_27015733的博客 480

从‘最速控制’到代码:深入拆解韩京清ADRC中TD跟踪器的fhan函数(含Matlab/Simulink实例)

本文深入解析韩京清ADRC中的fhan函数,从理论到代码实现,详细拆解其在Matlab/Simulink中的应用。通过分析最速控制问题和非线性TD的连续形式,揭示fhan函数在信号处理和噪声抑制中的独特优势,并提供工程实践中的参数整定和优化技巧。

weixin_42659194的博客 247

PhoenixSuit全志刷机实战:从驱动安装到固件烧录的完整避坑指南

本文提供全志芯片设备使用PhoenixSuit进行线刷的完整实战指南。详细介绍了从驱动安装、双公头USB线连接、强制刷机模式进入,到固件烧录全过程的核心步骤与常见错误排查。重点解析了如何避免驱动安装失败、正确触发刷机模式以及应对烧录卡顿等关键问题,帮助用户顺利完成刷机或救砖操作。

algae的博客 1691

Magento多文件上传代码功能实现

不知你在使用Magento扩展开发过程中是否有曾遇到过需要上传多个文件的情况,如果是,本文恰好为你而准备,帮你寻找解决思路。 Magento后台使用的是Flex Uploader的Flash组件实现多文件上传功能;本文最后还讨论单页面多uploader组件异常问题解决。

飘痕 2590

数学建模:相关性分析学习——皮尔逊(pearson)相关系数与斯皮尔曼(spearman)相关系数

相关性分析:求解相关系数并绘制热力图进行对比

weixin_67565775的博客 8万+

JavaScript中如何实现多文件上传功能?

要求:开源,免费,技术支持技术:分片,分块,断点续传,加密传输,加密存储需求:大文件上传,批量上传,断点续传,文件夹上传,大文件下载,批量下载,断点下载,文件夹下载文件夹:上传下载需要支持层级结构,采用非压缩方式文件大小:100G前端:vue2,vue3,vue-cli,jquery,html,webuploader后端:java,JSP,springboot,struts服务器:linux,信创国产化数据库:mysql,oracle,达梦,国产化数据库。

weixin_52050572的博客 880

捷联惯导,其实没有你想象的那么复杂!(附:惯导嵌入式应用中需要的一些C代码)

摘要:捷联惯导系统将惯性测量单元固连于运动载体,通过核心算法实现导航解算。系统首先进行传感器误差补偿和初始对准,然后利用陀螺和加速度计数据,通过姿态更新算法(如四元数法)计算载体相对于地理系的姿态。加速度数据经比力方程转换后积分得到速度和位置,过程中需补偿圆锥误差和划船效应。捷联惯导通过数字平台替代物理平台,实现了载体坐标系与导航坐标系的实时转换,是当前惯性导航系统的主流方案。

victoryqian528的博客 270

基于jeecgboot3.9.0的项目管理——项目工作台(二)

基于jeecgboot3.9.0的项目管理——项目工作台(二)

宁波阿成的博客 206

SpringMVC多文件上传功能

说明:关于SpringMVC框架的搭建请参照之前写过的一篇博客http://blog.youkuaiyun.com/liqingwei168/article/details/79137801 本篇文章是在上次的基础上进行增加的功能。 1. pom.xml 首先要确保上传的依赖包 commons-fileupload commons-fileuploa

点点的博客 486

控制科学与工程(自动化)保研经验【1】——预备篇

个人情况 学校:中末流211 专业:自动化(学科评估B-) 年份:2019 排名:4/128 绩点:4.16/5 竞赛:三个国二(包括数模国赛美赛)、两个省一(机器人、电子设计竞赛) 【本科期间竞赛做的比较多,是我的一大亮点,可以在筛简历这关适当弥补专业排名的不足】 科研:一个校级的大创项目(水) 夏令营报名:中科大科学岛、中科大本部、自动化所、沈自所、北航(仪器17系)、山大、浙江大学、南开、同...

Control Everything 1万+

uniapp单文件and多文件上传功能

一、上传文件功能 前端上传后界面后,点击 确定 按钮,上传至后台。 uniapp拍照上传功能 二、代码 <view class="top-nav-c"> <view class="before" @tap="isShowDoMessage = false">取消</view> 留言板 <view class="after" :class="{'submit-ck': isSubmit}" @tap="onSubmitMessageClick">确定&l

yan263364的博客 1720

【49】软考软件设计师——冲刺复盘:高频易错点与应试策略|复盘清单+应试技巧

本文是《软件设计师·50讲通关|从零基础到工程师职称》专栏第49篇,属于**模块六:冲刺与模拟**终篇,聚焦考前最后阶段的“精准复盘+应试提分”。全文围绕“高频易错点清零、答题时间优化、应急处理落地”三大核心,梳理9大知识领域的典型易错点(附避坑技巧)、优化版答题时间分配(含取舍策略)、考中全场景应急方案,配套可直接使用的“复盘清单”和“应试技巧手册”,帮助考生在最后阶段查漏补缺、固化得分逻辑,避免因低级错误丢分,以“稳、准、快”的状态应对考试。下一篇第50篇(终章)将进行全专栏知识体系回顾、考试策略总结

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 440

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

上一篇: 改进过的一个联动控件,使用更加简单方便
下一篇: 动态多附件上传 多附件动态上传
qq_13854514
博客等级 码龄20年 29粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值