java实现多图片或多图片上传

2023-11-15

(一)单图上传:

步骤:

前台页面

1. 文件样式世界

<div class="layui-input-block">
    <img id="imgUrl" src="<%= basePath %>/static/images/uploadfile.png" alt="暂无图片" width="150px" height="100"  onclick=”aclick()”/>
	<ul>
		<li><img></li>
	<ul>
</div>

2. 文件选择器

<div id="frmUploadImg" style="display:none">
 <input name="APPImage" id="APPImage" type="file" onchange="doUpload()"/>
</div>

3. 点击图片触发文件选择器

 $("#imgUrl").click(function () {
//触发文件选择
    $("#APPImage").click();
})
 //选择好文件之后  进行文件上传。
 
  doUpload(); //方法实现文件上传
  
   ajax({
//实现文件上传
//区别与普通的数据上传,是文件上传
   Success: function(data){
//data就是上传成功返回的图片名数组

//前台的回显
}
})

后台实现文件上传的操作

   public List<String> uploadFile(HttpServletRequest request,@RequestParam("APPImage") MultipartFile files[]){

(二)多图上传:

步骤:

1 页面布局

<div class="layui-input-block">
 <ul id=”uls”><li> <img id="imgUrl" src="<%= basePath %>/static/images/uploadfile.png" alt="暂无图片" width="150px"
         height="100"  onclick=”aclick()”/>
</li></ul>
</div>

//文件选择器
<div id="frmUploadImg" style="display:none">
 <input name="APPImage" id="APPImage" type="file" onchange="doUpload()"/>
</div>

2. 点击图片触发文件选择器

$("#imgUrl").click(function () {
//触发文件选择
    $("#APPImage").click();
3.1选择好文件之后  进行文件上传。
  doUpload() 方法实现文件上传、
   ajax({
//实现文件上传
//区别与普通的数据上传,是文件上传
   Success: function(data){
//data就是上传成功返回的图片名数组
4.前台的回显
// 区别与单图上传  
 单图:  $(“#img”).attr(src,”http://…./data”);
多图:
//上传之后的回显不一样
success: function (path) {
    //1.遍历上传完成之后的图片地址
    for(var i = 0;i<path.length;i++){
       //2.
        var imgsrc ="http://localhost:8080/sSm/uploadfiles/"+path[i];
        $("#imagenews").append("<li class='lis'>" +
            "                        <img src='"+imgsrc+"' fileName='"+path[i]+"' />" +
            "                        <input type='text' name='images.title' placeholder='请输入图片的标题'>" +
            "                        <div class='close'><i>×</i></div>"+
            "                    </li>");
    }

3. 后台实现文件上传的操作

   public List<String> uploadFile(HttpServletRequest request,@RequestParam("APPImage") MultipartFile files[]){

多图上传 还需要多一些步骤

  1. 获取到所有的图片名(作为数据库photo的参数值)区别于单图(隐藏的input保存)
    通过js 遍历到所有的图片名,通过对象保存
    Js方法可以对页面元素进行遍历操作,获取到图片名
$(".lis").each(function(){
  //获取图片的路径
  var imgsrc =$(this).find("img").attr("filename");
  imgsrcs.append(imgsrc+";")
});
  1. 删除不需要的图片按钮
$(".close").live("click",function(){
    $(this).parent(".lis").remove();//只是单纯的删除页面元素
    //方案1. 通过Java文件操作删除我们对应的uploadfiles里的图片文件。

	//方案2 保留服务器上传的图片,后期统一对图片服务器管理。单独维护文件服务器。
});

适用功能:

商品列表,需要多个图片展示信息的功能

区别: 界面显示不一样

联系:后台上传逻辑都是一样的 ,uolpoadfileController doupload()方法实现单个或多个文件的上传。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java实现多图片或多图片上传 的相关文章

  • 当前平台不支持桌面 API

    我遇到过这个错误 java lang UnsupportedOperationException 当前平台不支持桌面 API 我将从我的 java 应用程序中打开一个文件 我用这个方法 Desktop getDesktop open new
  • 使用 https 的 Web 服务身份验证给出错误

    我编写了一个简单的 Web 服务 并使用摘要和 HTTPS 身份验证来保护它 我已经使用 Java 中的 keytool 生成了我的证书 当我通过创建 war 文件在 Tomcat 中部署 Web 服务时 axis 的欢迎页面正确显示 但是
  • 使用正则表达式验证电子邮件的最大长度

    我找到了用于电子邮件验证的正则表达式 a z0 9 a z0 9 a z0 9 a z0 9 a z 2 4 我希望电子邮件的最大长度为 20 个字符 因此我将其更改为 a z0 9 a z0 9 a z0 9 a z0 9 a z 2 4
  • 是否可以使用 Apache Tika 提取表信息?

    我正在寻找 pdf 和 MS Office 文档格式的解析器 以从文件中提取表格信息 当我看到 Apache Tika 时 正在考虑编写单独的实现 我能够从任何这些文件格式中提取全文 但我的要求是提取表格数据 我希望有 2 列采用键值格式
  • java:为什么主线程等待子线程完成

    我有一个简单的java程序 主线程 main 创建并启动另一个线程t class T extends Thread Override public void run while true System out println Inside
  • 在 Eclipse 中删除空块之前的新行

    我更喜欢奥尔曼式 http en wikipedia org wiki Brace style Allman style大括号 例如 if foo magical prancing unicorn stuff 而不是 if foo unma
  • Rails 上的 SASS 无效 CSS 错误

    我正在尝试使用http startbootstrap com stylish portfolio http startbootstrap com stylish portfolio但是 在我的 Rails 应用程序中 我在 vintage
  • JFrame 在连续运行代码时冻结

    我在使用时遇到问题JFrame 它会冻结 连续运行代码 下面是我的代码 点击时btnRun 我调用了该函数MainLoop ActionListener btnRun Click new ActionListener Override pu
  • 扩展多个类

    我知道 Java 不支持多重继承 因为不允许扩展多个类 我只是想知道我的问题是否有解决方法 我有一个名为CustomAction需要扩展两个抽象类 BaseAction and QuoteBaseAction 我无法更改这些抽象类中的任何一
  • 使用 JSONP 时出现“无效标签”?

    我的 JSONP 请求有问题 数据不会显示 Firebug 显示 无效标签 错误 我的 JavaScript ajax url link dataType jsonp beforeSend function xhr var base64 b
  • 为休息服务实施 JUnit 测试

    我必须为我的休息服务实现一些 JUnit 测试 例如 这是我的休息服务之一 Path dni fe public class HelloWorld POST Path home Consumes MediaType APPLICATION
  • React Native v0.71.8 React-native-vector-icons 你看不到的图标

    我在用react native版本v0 71 8 我安装了react native vector icons库 但图标未显示 似乎链接在最新版本的 React Native 中不再起作用 所以我按照说明进行操作 但它不再编译 出现以下错误
  • 获取接收者的设备令牌以在 Firebase 中发送通知

    所以我正在学习如何使用 firebase 发送设备到设备的通知 我看到了这个answer https stackoverflow com a 42548586 5237289发送通知 看起来很简单 现在 我知道要获取发件人的令牌 它应该如下
  • 将 h2 标签嵌套在另一个带有 h1 标签的标头中在语义上是否错误?

    将 h2 标签嵌套在另一个标头 h1 标签内在语义上是否错误 h1 class fixed h2 class absolute Absolute Div h2 h1 语义错误 很大程度上是一个观点问题 语义 意味着 与意义相关 但这里的含义
  • 在 Tensorflow-lite Android 中将位图转换为 ByteBuffer(浮点)

    在用于图像分类的tensorflow lite android演示代码中 图像首先转换为ByteBuffer格式以获得更好的性能 这种从位图到浮点格式的转换以及随后到字节缓冲区的转换似乎是一个昂贵的操作 循环 按位运算符 float mem
  • ebean 映射到 BYTEA 的数据类型是什么?

    我有一个游戏 2 0 2 需要在数据库中存储一些文件的应用程序 我们使用 Ebean 作为 ORM 我相信我的数据库中需要一个 BYTEA 列来存储该文件 但我不确定在我的模型中使用什么数据类型 我应该使用某种Blob 或者只是一个byte
  • 使用 Hibernate Envers 的复合表

    我有一个带有复合表的应用程序 其中包含一个额外的列 一切正常 直到我们添加 Hibernate Envers Audited org hibernate MappingException 无法读取 no pack response Resp
  • junit4 使用特定测试方法创建测试套件

    在 junit4 中 我想执行来自不同类的特定测试方法 即想要使用来自不同类的特定测试方法创建一个测试套件 假设我有两门课 public class Test Login Test public void test Login 001 Sy
  • FetchType.LAZY 不适用于休眠中的 @ManyToOne 映射

    简而言之 我的 Child 类与 Parent 类之间存在多对一的关系 我想加载所有的孩子 而不必加载他们的父母详细信息 我的孩子班级是 Entity public class Child implements Serializable I
  • html 表:thead 与 th

    它看起来像 根据示例这一页 http www w3 org TR html4 struct tables html无论如何 如果您使用THEAD 则不需要使用TH 真的吗 如果是这样 THEAD 与 TH 相比有何优点 缺点 The the

随机推荐

  • JAVASCRIPT使用参考

    JS参考手册 https www w3school com cn jsref index asp 几点注意 JavaScript是一门客户端轻量级脚本语言 它运行在客户端的浏览器中 每一个浏览器都有JavaScript的解析引擎 脚本语言
  • Flink---1、概述、快速上手

    1 Flink概述 1 1 Flink是什么 Flink的官网主页地址 https flink apache org Flink的核心目标是 数据流上有状态的计算 Stateful Computations over Data Stream
  • OpenHarmony之Ubuntu22.04执行hb set报错

    错误提示 最近在使用Ubuntu22 04搭建OpenHarmony编译环境 在执行hb set命令选择开发板时出现如下报错 详细log如下 fangye fangye virtual machine niobeu4 src hb set
  • 分了很多节的word文档,使用尾注插入的参考文献,最后怎么在参考文献之后加入致谢?

    转自 点击打开链接 需要设置一下 1 设置尾注的位置 引用 脚注 按这个功能区分组右下角的功能展开按钮 调出 脚注和尾注 设置对话框 在 位置 下 尾注 后选择 节的结尾 2 从第一节开始分别取消各节的 尾注 直到 参考文献 这节 页面布局
  • 在Docker容器中部署整套基于Spring Cloud的微服务架构,看这篇就对了!

    本文以mall swarm项目为例 主要介绍一个微服务架构的电商项目如何在Docker容器下部署 涉及到大量系统组件的部署及多个Spring Cloud 微服务应用的部署 基于CentOS7 6 环境搭建 基础环境部署 mall swarm
  • vue 写的登录页面

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 登录页面 二 使用步骤 1 引入库 前言 提示 以下是本篇文章正文内容 下面案例可供参考 一 登录页面 1 用element ui或者用iView组件都可
  • Denoising Diffusion Probabilistic Models简介

    目录 概要 前向过程 nice property 逆向过程 参数推导 简化 渐进式编码 Progressive coding 参考资料 概要 Denoising Diffusion Probabilistic Model DDPM 是一个生
  • echarts 部分含义

    xAxis xAxis show true 是否显示x轴 position top x轴的位置 top bottom type category 坐标轴类型 value category time log name 姓名 坐标轴名称 nam
  • C++ opencv 将图片分为任意N等分,并保存所有子图片于本地

    C opencv 将图片分为任意N等分 并保存所有子图片于本地 第一次写博客 格式不对之处 请原谅 include
  • Java 项目的跨库的方式查询的方法

    Java 项目的跨库的方式查询的方法 目录 概述 需求 设计思路 实现思路分析 性能参数测试 参考资料和推荐阅读 Survive by day and develop by night talk for import biz show yo
  • 藏经阁(九)触摸屏驱动芯片XPT2046 解析

    文章目录 一 前言 二 XPT2046的介绍 1 先看其内部框图 2 引脚图和应用原理图 3 参考电压 4 通信时序 一 前言 XPT2046可以作为12位的4通道输入的ADC来使用 也可以作为4线电阻触摸屏的驱动芯片来使用 下面介绍作为触
  • 图像识别-YOLO V8安装部署-window-CPU-Pycharm

    前言 安装过程中发现 YOLO V8一直在更新 现在是2023 9 20的版本 已经和1月份刚发布的不一样了 eg 目录已经变了 旧版预测 在ultralytics yolo v8 下detect 新版 ultralytics models
  • 目前国内电子地图产业链

    目前国内电子地图产业链 从最上游开始依次共有数据类 软件类 互联网及移动互联网服务类3大环节 细分4大链条 转播到腾讯微博 其中 第一环节和第三个环节 都需要牌照 第一环节中的地图数据采集商 如高德 四维获得行业甲级牌照后 方能具备从事采集
  • markdown自动生成导航目录

    把这一段代码插入到markdown生成的HTML文件的head标签中 将会自动根据markdown的标题按级别生成导航目录
  • 可能是Windows下最简单的Java环境安装指南

    1 简介 JDK Java SE Development Kit Java开发工具 JRE Java Runtime Environment Java运行环境 如果要从事Java编程 则需要安装JDK 如果仅仅是运行一款Java程序则JRE
  • Keycloak配置模拟用户登录

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 一 keycloak配置 一 keycloak配置 keycloak启动 winodws通过配置项启动keycloak 进入keycloak安装目录keycloak
  • 基于Qt的OpenGL编程(3.x以上GLSL可编程管线版)---(二十四)高级GLSL技巧

    Vries的教程是我看过的最好的可编程管线OpenGL教程 没有之一 其原地址如下 https learnopengl cn github io 04 20Advanced 20OpenGL 08 20Advanced 20GLSL 关于高
  • OLED\OLED.axf: Error: L6200E: Symbol __asm___6_oled_c_F16x16____REV16 multiply defined (by oled_1.o

    关于这个问题的解决我当时找了很久不知道该如何解决它总说重复最后发现应该是当时在别的文件夹引入的时候重复了 选择Remove Group然后重新编译 就ok了
  • 迁移学习(transfer learning)和微调(fine-tune)的几点认识

    迁移学习和微调的区别 什么是迁移学习 即一种学习对另一种学习的影响 它广泛地存在于知识 技能 态度和行为规范的学习中 任何一种学习都要受到学习者已有知识经验 技能 态度等的影响 只要有学习 就有迁移 迁移是学习的继续和巩固 又是提高和深化学
  • java实现多图片或多图片上传

    文章目录 一 单图上传 步骤 前台页面 后台实现文件上传的操作 二 多图上传 多图上传 还需要多一些步骤 适用功能 一 单图上传 步骤 前台页面 1 文件样式世界 div class layui input block img src al