1、页面元素,file设置了multiple,支持多张图片,样式使用bootstrap基础样式,自行引用。

<form id="form1"  method="post"  enctype="multipart/form-data" ><span>请上传图片:</span><input id="files" name="files" type="file" multiple >
</form><!-- 工具栏 --><div id="toolbar" class="btn-group" style="margin-top: 20px"><button id="btn_add" type="button" class="btn btn-default" onclick="savebase()"><span class="glyphicon glyphicon-plus" aria-hidden="true"></span>确定</button>   <button id="btn_add" type="button" class="btn btn-default" onclick="window.history.back(-1) "><span class="glyphicon glyphicon-share-alt" aria-hidden="true"></span>返回</button>            </div>

2、js代码提交,前台初步验证图片格式,注意这边加载了jquery-form.js。

<script type='text/javascript' src="<%=basePath%>static/js/jquery-form.js"></script>
<script type="text/javascript">
function savebase(){     var path1 = $("#files").val();//alert(path1);if (path1.length != 0) {var extStart = path1.lastIndexOf('.'),ext = path1.substring(extStart, path1.length).toUpperCase();if (ext !== '.PNG' && ext !== '.JPG' && ext !== '.JPEG' && ext !== '.GIF') {alert("请上传正确的图片!");return false;}}else{alert("请上传图片!");return false;}$("#form1").ajaxSubmit({url: '<%=basePath%>pic/b',beforeSubmit: function () {},success: function (data) {if(data=='1') {window.location.href="<%=basePath%>/pic/a";}else if(data=='2') {layer.msg('请上传正确的图片!', {icon: 1,//提示的样式time: 2000});}else if(data=='3') {layer.msg('请上传大小不超过20M的图片!', {icon: 1,//提示的样式time: 2000});}else if(data=='4'){layer.msg('提交失败,请联系管理员', {icon: 1,//提示的样式time: 2000});}}});}
</script>

3、java后台实现

import java.io.File;
@RequestMapping(value="/b")@ResponseBodypublic String b(HttpSession session,@RequestParam("files") MultipartFile[] files ,HttpServletRequest request,HttpServletResponse response,Model model){try{Date d = new Date();boolean typefile = false;boolean sizefile = false;for (MultipartFile m : files) {String originalFilename = m.getOriginalFilename();String string = originalFilename.split("\\.")[1].toUpperCase();if(!string.equals("PNG") && !string.equals("JPG") && !string.equals("JPEG") && !string.equals("GIF")){typefile = true;}long size = m.getSize();if(size/1024 > 20000){sizefile = true;}}if(typefile){//格式不对return "2";}if(sizefile){//大小超限return "3";}for (MultipartFile m : files) {Pics pics = new Pics();if (!m.isEmpty()) {// 获取文件存储路径(绝对路径)String path = session.getServletContext().getRealPath("");// 获取原文件名String fileName = SjtyUtil.getUUid()+"."+m.getOriginalFilename().split("\\.")[1];//自定义保存路径path=path+"/static/beian/";// 创建文件实例File filePath = new File(path, fileName);// 如果文件目录不存在,创建目录if (!filePath.getParentFile().exists()) {filePath.getParentFile().mkdirs();System.out.println("创建目录" + filePath);}// 写入文件m.transferTo(filePath);pics.setPicsrc("/static/beian/"+fileName);}pics.setId(SjtyUtil.getUUid());pics.setPicname(m.getOriginalFilename());pics.setCrtdate(d);//数据库保存记录picDao.savepic(pics);}return "1";}catch (Exception e) {// TODO: handle exceptione.printStackTrace();return "4";}}

java多张图片上传,前后台实现代码相关推荐

  1. java多张图片上传安卓,Android Rxjava+Retrofit2 多图片+文字上传

    注意点: 方案一中:map.put("files\"; filename=\"" + file.getName(), requestBody); 方案二中:bu ...

  2. 服务器 上传文件进度,Java动态显示文件上传进度实现代码

    本文实例实现文件上传的进度显示,我们先看看都有哪些问题我们要解决. 1 上传数据的处理进度跟踪 2 进度数据在用户页面的显示 就这么2个问题, 第一个问题,主要是组件的选择 必须支持数据处理侦听或通知 ...

  3. Java IOS客户端上传多张图片到服务端

    Java IOS客户端上传多张图片到服务端 业务场景:用户相册需要上传多张图片到服务器,上限为12张.本文主要介绍Java服务端的文件和流的处理. 下图为iOS端和服务端最终结果一览.  iOS端 : ...

  4. java ftp上传文件相关代码梳理

    java实现ftp文件上传 1.ftp文件上传步骤 1)连接ftp 2)检查工作目录是否存在 3)检查是否上传成功 4)完成任务后,断开ftp 2.具体如下,直接贴上核心代码: A)导入核心pom依赖 ...

  5. java视频上传_Java上传视频实例代码

    页面: 上传文件时的关键词:enctype="multipart/form-data" String path = request.getContextPath(); String ...

  6. 仿微信图片选择及多张图片上传

    最近做项目涉及到图片上传这块,多张图片上传是用xutils实现的,图片选择.预览是参考了微信图片选择的demo,先上图: 这是网上参考了仿微信图片上传实现的,这里就不多讲了,文章底部有下载链接,下面介 ...

  7. java获取ajax上传的文件,Java使用Ajax异步上传文件

    相关代码示例: html代码片段: 名称 class="layui-input"> 描述 文件 请选择配置文件 立即提交 重置 js代码片段: //上传配置文件 $(&quo ...

  8. android h5 多图上传源码,JS移动端/H5同时选择多张图片上传并使用canvas压缩图片...

    最近在做一个H5的项目,里边涉及到拍照上传图片的功能以及识别图片的功能,这里对识别图片的功能不做赘述,不属本文范畴.我在做完并上线项目后,同事跟我提了一个要求是可不可以同时选择多张图片上传,我做的时候 ...

  9. java通过sftp上传文件

    转载:http://blog.csdn.net/yhl_jxy/article/details/72633034 Linux操作系统我们经常使用ssh中的ftp,sftp连接服务器,做相应操作. 如何 ...

最新文章

  1. 代码段间转移控制时的特权级检查(JMP/CALL)——《x86汇编语言:从实模式到保护模式》读书笔记28
  2. cocos cr躲避类游戏的暂停、继续、重新开始_社团班级团建游戏活动安排
  3. Boost:由内部绑定的值返回的智能指针的测试程序
  4. mac mysql安装失败_Mac mysql安装失败解决方法
  5. Pycharm运行项目代码时输入可选参数
  6. 快速配置vs2012+opencv
  7. PostgreSQL应用(二,客户端工具————CRUD)
  8. 基于Matlab高斯光束前向与后向传播的模拟
  9. matlab获取地图边界,科学网—提取百度地图县域的矢量边界 - 张乐乐的博文
  10. 什么都会,也许只是盲目跟风,和优秀无关
  11. AV1比HEVC/H.265简单对比
  12. Android 文字测量
  13. tar 命令打包压缩tar.gz,不包含当前文件夹路径
  14. 本科计算机er想做AI方向的科研,要怎么准备?
  15. 刘韧马杰花总:诗歌小说电影游戏都是元宇宙
  16. 众多OA办公协同系统,企业应如何选择?
  17. android手机浏览器测评,QQ浏览器和800浏览器哪个好?安卓手机浏览器对比评测
  18. 考研英语作文押题---垃圾分类
  19. 阜阳计算机学校招生,阜阳计算机学校2021年招生简介
  20. PTA 黑洞数 C语言

热门文章

  1. HTML5 基础教程
  2. python 类初学之 小猫
  3. Android+Java Web+MySQL实现登录注册
  4. 器件选型篇:二极管之肖特基选型
  5. 人机对话是怎么产生的?
  6. java中的三种移位运算符
  7. 认证 (authentication) 和授权 (authorization) 的区别(通俗易懂!!)
  8. 损失函数(Loss)
  9. 系统自带测试软件,Windows7自带软件测试RAID系统
  10. 阿里云中间件ARMS介绍