这个工程是在内网环境进行开发,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. Python之py9-py9作业检查

    目录结构 代码 import os import datetime name_list = [ '赵嘉豪', '巩景云', '李琦', '潘立府', '胡凯琴', '雷俊', '刘闯', '毛毅智', ...

  2. 9.23 csp

    今天模拟赛出了四道zroi的题,挺GG的. T1.奇观 因为删除的边比较少,所以从m入手,f[i][j]表示长度为i,终点为j的链的方案数. C 是长度为3的链,F是 1条 长度为3 的链 和 2条 ...

  3. C#/.NET/.NET Core学习路线集合,学习不迷路!

    前言 C#..NET..NET Core.WPF.WinForm.Unity等相关技术的学习.工作路线集合(持续更新)!!! 全面的C#/.NET/.NET Core学习.工作.面试指南:https: ...

  4. 旧电脑配置玩魔兽世界带不动?云电脑轻松解决,用ToDesk!

    最近魔兽世界重新回归,不少游戏老玩家都摩拳擦掌准备上线回忆青春,但发现手里的旧电脑早已带不动游戏,硬要打开很容易出现画面卡顿.延迟严重,甚至频繁掉线,这些问题都让游戏乐趣大打折扣.但要为此再重新买一台 ...

  5. 2.16 Linux挂载详解

    前面讲过,Linux 系统中"一切皆文件",所有文件都放置在以根目录为树根的树形目录结构中.在 Linux 看来,任何硬件设备也都是文件,它们各有自己的一套文件系统(文件目录结构) ...

  6. PCI-5565-反射内存RFM2G的学习与使用

    1.介绍 反射内存集成在反射内存卡上,我们使用的是PCI总线的反射内存卡PCI5565,还有PCIE和其它总线类型的反射内存卡,原理差不多.在两台计算机的PCI插槽插两块反射内存卡,然后通过光纤连接. ...

  7. 5.Kubeadm和二进制方式对比

    Kubeadm方式搭建K8S集群 安装虚拟机,在虚拟机安装Linux操作系统[3台虚拟机] 对操作系统初始化操作 所有节点安装Docker.kubeadm.kubelet.kubectl[包含mast ...

  8. C语言指针一些常见的错误用法

    指针用的好犹如神助,用不好会让你叫苦连连,但大多数人是用不好指针的,所以后来的很多语言都把指针封装,屏蔽.比如JAVA,java是没有指针的,但是很多地方都用到指针,不过不对用户开放,语言的自身机制帮 ...

  9. ubuntu的apt源更新后只能装php8新版本,无法安装php7老版本了

    新电脑更新apt源以后,发现新装的都是php8.1,而且apt源update后,search也找不到php7了. 于是找到了这篇文章 然后按照他说的做 sudo apt-get update sudo ...

  10. begin-预览,不行啊还是太弱了

    方便管理,主要是想熟悉下git的操作 先创建并且切换到一个新的分支: git commit --allow-empty -am "before starting PA1" git ...