springboot带参数的文件上传
这个工程是在内网环境进行开发,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带参数的文件上传的更多相关文章
- servlet3.0获取参数与文件上传代码示例
转: servlet3.0获取参数与文件上传代码示例 2018年08月26日 20:25:35 苏凯勇往直前 阅读数:98 package com.igeek.servlet; import ...
- springboot实现简单的文件上传
承接上一篇,这里记录一下简单的springboot文件上传的方式 首先,springboot简单文件上传不需要添加额外的jar包和配置 这里贴一下后端controller层的实现代码 补一份前台的HT ...
- springboot整合OSS实现文件上传
OSS 阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量.安全.低成本.高可靠的云存储服务.OSS可用于图片.音视频.日志等海量文件的存储.各种终端 ...
- SpringBoot整合SpringMVC完成文件上传
1.编写Controller /** * SPringBoot文件上传 */ //@Controller @RestController //表示该类下的方法的返回值会自动做json格式的转换 pub ...
- springboot(九)文件上传
在企业级项目开发过程中,上传文件是最常用到的功能.SpringBoot集成了SpringMVC,当然上传文件的方式跟SpringMVC没有什么出入.下面我们来创建一个SpringBoot项目完成单个. ...
- Springboot 一行代码实现文件上传 20个平台!少写代码到极致
大家好,我是小富~ 技术交流,公众号:程序员小富 又是做好人好事的一天,有个小可爱私下问我有没有好用的springboot文件上传工具,这不巧了嘛,正好我私藏了一个好东西,顺便给小伙伴们也分享一下,d ...
- SpringBoot后台如何实现文件上传下载
1.单文件上传: @RequestMapping(value = "/upload") @ResponseBody public String upload(@RequestPar ...
- springboot+thymeleaf 实现图片文件上传及回显
1. 创建一个springboot工程, 在此就不多说了(目录结构). 2. 写一个HTML页面 <!DOCTYPE html> <html lang="en" ...
- 可拖拽和带预览图的jQuery文件上传插件ssi-uploader
插件描述:ssi-uploader是一款带预览图并且可以拖拽文件的jQuery ajax文件上传插件.该文件上传插件支持AJAX,支持多文件上传,可控制上的文件格式和文件大小,提供各种回调函数,使用非 ...
- HttpClient多文件上传代码及普通参数中文乱码问题解决
该随笔记录了在实际项目中使用HttpClient调用外部api,需上传文件和普通参数的代码. 笔者在使用 HttpClient 调用 http api 接口时,需要服务端上传文件和一些普通参数给 ht ...
随机推荐
- iOS定义常量的两种方式define和FOUNDATION_EXPORT
FOUNDATION_EXPORT的使用方法: 1.h文件 FOUNDATION_EXPORT NSString * const kTestString; 2.m文件NSString * const ...
- js递归遍历树形结构数据,获取所有数组id集合
function getAllIds(tree, result) { //遍历树 获取id数组 for (const i in tree) { result.push(tree[i].id); // ...
- vant2 自动检查表单验证 -validate
ref 给 <van-form @submit="onSubmit" ref="form"> 标签 : // 检验手机号是否合格 await thi ...
- Kali Linux 各版本开启ssh 服务
Kali Linux 各版本开启ssh 服务 2019版kali Linux SSH链接办法 修改kali关于SSH服务默认配置并重启SSH服务,步骤如下: 打开sshd_config文件 leafp ...
- Nuxt3+PM2集群模式启动及勘误
起因 之前写过一篇 Nuxt3 的文章,Nuxt3 环境变量配置,用到了 PM2,但是里面的一些配置存在问题,最近有空又验证了一下,这里做一个勘误. 问题 PM2 的启动配置中有一项是exec_mod ...
- KubeSphere 社区双周报 | 杭州站 Meetup 议题征集中 | 2023.04.14-04.27
KubeSphere 社区双周报主要整理展示新增的贡献者名单和证书.新增的讲师证书以及两周内提交过 commit 的贡献者,并对近期重要的 PR 进行解析,同时还包含了线上/线下活动和布道推广等一系列 ...
- js中的数组去重的多种方法
1. indexOf()方法 const arr = [1,2,3,4,5,1,2,3,4,6,1,1,6,6,7,5,8] const newArr = [] arr.forEach(item =& ...
- 卡特兰数 Catalan 数列
卡特兰数 Catalan 数列 引入 有一个无限大的栈,进栈的顺序为 \(1,2,\cdots,n\),求有多少种不同的出栈序列. 设 \(h[n]\) 为 \(n\) 个数的出栈序列方案数. 可以这 ...
- MindSpore-2.4版本中的一些新特性
技术背景 在前面的一篇博客中我们介绍了MindSpore-2.4-gpu的安装和其中可能出现的一些问题.这里我们在安装完成之后,可以尝试使用一些MindSpore新版本的特性.那么在安装之后,如果是使 ...
- 最全ECharts 实战大全(速记版+资源)
hello,大家好,我是程序员海军,公众号已经快一年多没更新了,没更新的这段时间,我去哪了呢.这两年经历了很多事情,主要情感上占据大部分时间, 从失恋 - 谈对象 - 再失恋. 言归正传,近期我负责的 ...