这个工程是在内网环境进行开发,u口也被封住了,所以不能把代码拷贝出来,于是把业务部分进行脱敏处理,核心代码手写一遍如下:
一、html关键代码

<form id = "createForm" method="post" enctype="multipart/form-data">
<div class="form-group"><div class="col-xs-3">活动名称</div><div class="col-xs-7><input type="text" class="activity" id="activityName" palcegolder="请输入" /></div></div>
<div class="form-group"><div class="col-xs-3">文件上传</div><div class="col-xs-7><input type="file" class="activity" id="files" name="files" multiple="multiple"/></div></div>
</form>
<button id="activity" class="btn" type="button">确定</button>

二、js代码

$('#activity').click(function(event)){
var fd = new FormData();//如果使用var data = $('#createForm').serialize();它无法提交文件提交
for(var i = 0;i<$("#files")[0].files.length;i++){
fd.append("files",$("#files")[0].files[i]);
}
fd.append("activityName",$("#activityName").val());
//因为要符合项目整体风格,所以这里采用udesk。正常使用ajax就可以
udesk.ajax({
url:"",
method:"post",
contentType:false,
processData:false,
async:false,
data: fd
}).done(function(res,textStatus,jqXHR){
document.getElementById("createForm").reset();
$("#createForm").modal('hide');
}
}

三、Controller代码

@ResponseBody
@RequestMapping(value="/insertActivity",method=RequestMethod.POST)
public void insertActivity(HttpServletRequest request,@RequestParam(value = "activityName",required = false) String activityName){
CommonsMultipartResolver commonsMultipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext());
if(commonsMultipartResolver.isMultipart(request)){
MultipartHttpServletRequest multipartHttpServletRequest = (MultipartHttpServletRequest)request;
List<MultipartFile> list = multipartHttpServletRequest.getFiles("files");
for(MultipartFile multipartFile:list){
String fileName = multipartFile.getOriginalFilename();//文件真名
String substring = fileName.substring(fileName.lastIndexOf("."));//后缀
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
String time = dateFormat.format(new Date());
String upName = UUID.randomUUID().toString()+substring;//修改后的
String path = uploadLocation+time+"\\"+upName;
File file = new File(uploadLocation+time);
if(!file.exists()){
file.mkdirs();
}
try{
multipartFile.transferTo(new File(file,name));
} catch (IOException E){
E.printStackTrace();
}
}
}
}
 
 

springboot带参数的文件上传的更多相关文章

  1. servlet3.0获取参数与文件上传代码示例

    转: servlet3.0获取参数与文件上传代码示例 2018年08月26日 20:25:35 苏凯勇往直前 阅读数:98   package com.igeek.servlet;   import ...

  2. springboot实现简单的文件上传

    承接上一篇,这里记录一下简单的springboot文件上传的方式 首先,springboot简单文件上传不需要添加额外的jar包和配置 这里贴一下后端controller层的实现代码 补一份前台的HT ...

  3. springboot整合OSS实现文件上传

    OSS 阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量.安全.低成本.高可靠的云存储服务.OSS可用于图片.音视频.日志等海量文件的存储.各种终端 ...

  4. SpringBoot整合SpringMVC完成文件上传

    1.编写Controller /** * SPringBoot文件上传 */ //@Controller @RestController //表示该类下的方法的返回值会自动做json格式的转换 pub ...

  5. springboot(九)文件上传

    在企业级项目开发过程中,上传文件是最常用到的功能.SpringBoot集成了SpringMVC,当然上传文件的方式跟SpringMVC没有什么出入.下面我们来创建一个SpringBoot项目完成单个. ...

  6. Springboot 一行代码实现文件上传 20个平台!少写代码到极致

    大家好,我是小富~ 技术交流,公众号:程序员小富 又是做好人好事的一天,有个小可爱私下问我有没有好用的springboot文件上传工具,这不巧了嘛,正好我私藏了一个好东西,顺便给小伙伴们也分享一下,d ...

  7. SpringBoot后台如何实现文件上传下载

    1.单文件上传: @RequestMapping(value = "/upload") @ResponseBody public String upload(@RequestPar ...

  8. springboot+thymeleaf 实现图片文件上传及回显

    1. 创建一个springboot工程, 在此就不多说了(目录结构). 2. 写一个HTML页面 <!DOCTYPE html> <html lang="en" ...

  9. 可拖拽和带预览图的jQuery文件上传插件ssi-uploader

    插件描述:ssi-uploader是一款带预览图并且可以拖拽文件的jQuery ajax文件上传插件.该文件上传插件支持AJAX,支持多文件上传,可控制上的文件格式和文件大小,提供各种回调函数,使用非 ...

  10. HttpClient多文件上传代码及普通参数中文乱码问题解决

    该随笔记录了在实际项目中使用HttpClient调用外部api,需上传文件和普通参数的代码. 笔者在使用 HttpClient 调用 http api 接口时,需要服务端上传文件和一些普通参数给 ht ...

随机推荐

  1. DBA面试资源合集(含Oracle、MySQL、Redis等)-墨天轮

    如今正值金九银十招聘季,众多企业开放大批岗位等待新力量的注入,各位DBA们,你们是否正在激情备战中? 作为企业数据化进程中十分重要的一环,DBA的职责越来越重要,作为高薪资岗位之一,应聘DBA的竞争也 ...

  2. ORM底层逻辑

    1 数据库必然是只认识Sql语句 2 ORM的底层必然是ADO.NET 3 ORM也可以说是ADO的一种封装 ORM: 1 通过实体生成Sql语句-大量的反射 2 对应映射关系

  3. 1. java + react 实现 HRM

    1. 云服务的三种方式 1.1 IAAS 基础设施即服务 ,只会提供基础的设施,eg:服务器,网络等 : 1.2 PAAS 平台即服务 ,提供平台,可以把自己写好的代码部署到平台上 : 1.3 SAA ...

  4. Android复习(四)-->权限汇总

    官方地址: https://developer.android.google.cn/reference/android/Manifest.permission#public-constructors ...

  5. 四、Spring Boot集成Spring Security之认证流程

    二.概要说明 本文主要介绍登录登出业务流程,所以使用基于内存的用户名密码,暂不介绍授权相关内容,后续会详细介绍基于数据库的认证及授权 如何查看基于内存的默认用户名密码 如何配置基于内存的自定义用户名密 ...

  6. 实战!oracle 11g一键安装脚本分享

    分享一个常用的数据库一键安装脚本,大家可以从我的网盘进行下载 链接: https://pan.baidu.com/s/1iV-0zeXrwhJxJcm9qA_P_g 提取码: apbc 脚本内容: # ...

  7. 如何正确的使用CMDB?

    为什么说CMDB在企业中很难被使用起来?第一,CMDB的数据集成与准确性维护是一大挑战,因为需要确保来自多个异构IT系统的配置信息能够实时.准确地同步与更新.第二,复杂的IT环境和快速变化的业务需求使 ...

  8. Ubuntu 22.04 LTS 在线/离线安装 Docker

    Docker 安装方式 时间:2024-10 准备环境 root@ubuntu2204:~# hostnamectl Static hostname: ubuntu2204 Icon name: co ...

  9. 精选2款C#/.NET开源且功能强大的网络通信框架

    前言 今天大姚给分享2个C#/.NET开源且功能强大的网络通信框架,希望可以帮助到有需要的同学. NetCoreServer NetCoreServer是一个.NET开源.免费(MIT License ...

  10. 一个专注推荐.Net开源项目的榜单

    大家好,我是编程乐趣,从7月份开始推荐开源项目,已经推荐了接近100个开源项目了,其中绝大部分是有关.Net的开源项目,也受到大家非常多人的喜欢. 由于公众号不方便查询,很多人又想了解更多的开源项目, ...