如何在Spring Boot中同时上传多个微信能扫描纸质文件吗

&nbsp>&nbsp
&nbsp>&nbsp
&nbsp>&nbsp
spring boot 多环境配置文件灵活使用
摘要:springboot多环境配置文件一般使用Tomcat吧,,,```多环境tomcat配置:#将下面参数放在JVM中,如果是TOMCAT则放在catalina.sh#开发:JAVA_OPTS=&$JAVA_OPTS-Dspring.profiles.active=dev&#测试:JAVA_OPTS=&$JAVA_OPTS-Dspring.profiles.active=test&#如果是ECLIPSE中启动TOMCAT,则只需加-Dsp
spring boot 多环境配置文件
一般使用 Tomcat 吧,,,
多环境tomcat配置:
#将下面参数放在JVM中,如果是TOMCAT则放在catalina.sh
JAVA_OPTS=&$JAVA_OPTS-Dspring.profiles.active=dev&
JAVA_OPTS=&$JAVA_OPTS-Dspring.profiles.active=test&
#如果是ECLIPSE中启动TOMCAT,则只需加
-Dspring.profiles.active=dev
以上是的内容,更多
的内容,请您使用右上方搜索功能获取相关信息。
若你要投稿、删除文章请联系邮箱:zixun-group@service.aliyun.com,工作人员会在五个工作日内给你回复。
新用户大礼包!
现在注册,免费体验40+云产品,及域名优惠!
云服务器 ECS
可弹性伸缩、安全稳定、简单易用
&40.8元/月起
预测未发生的攻击
&24元/月起
你可能还喜欢
你可能感兴趣
阿里云教程中心为您免费提供
spring boot 多环境配置文件灵活使用相关信息,包括
的信息,所有spring boot 多环境配置文件灵活使用相关内容均不代表阿里云的意见!投稿删除文章请联系邮箱:zixun-group@service.aliyun.com,工作人员会在五个工作日内答复
售前咨询热线
支持与服务
资源和社区
关注阿里云
International详解SpringBoot文件上传下载和多文件上传(图文)
转载 &更新时间:日 11:26:07 & 作者:Coding13
本篇文章主要介绍了详解SpringBoot文件上传下载和多文件上传(图文),具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
最近在学习SpringBoot,以下是最近学习整理的实现文件上传下载的Java代码:
1、开发环境:
IDEA15+ Maven+JDK1.8
2、新建一个maven工程:
3、工程框架
4、pom.xml文件依赖项
&project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"&
&modelVersion&4.0.0&/modelVersion&
&groupId&SpringWebContent&/groupId&
&artifactId&SpringWebContent&/artifactId&
&packaging&war&/packaging&
&version&1.0-SNAPSHOT&/version&
&name&SpringWebContent Maven Webapp&/name&
&url&http://maven.apache.org&/url&
&groupId&org.springframework.boot&/groupId&
&artifactId&spring-boot-starter-parent&/artifactId&
&version&1.4.3.RELEASE&/version&
&dependencies&
&dependency&
&groupId&org.springframework.boot&/groupId&
&artifactId&spring-boot-starter-thymeleaf&/artifactId&
&/dependency&
&dependency&
&groupId&org.springframework.boot&/groupId&
&artifactId&spring-boot-devtools&/artifactId&
&optional&true&/optional&
&/dependency&
&dependency&
&groupId&junit&/groupId&
&artifactId&junit&/artifactId&
&version&3.8.1&/version&
&scope&test&/scope&
&/dependency&
&/dependencies&
&properties&
&java.version&1.8&/java.version&
&/properties&
&finalName&SpringWebContent&/finalName&
&groupId&org.springframework.boot&/groupId&
&artifactId&spring-boot-maven-plugin&/artifactId&
&/plugins&
&/project&
5、Application.java
import org.springframework.boot.SpringA
import org.springframework.boot.autoconfigure.SpringBootA
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
6、FileController.java
import org.springframework.stereotype.C
import org.springframework.ui.M
import org.springframework.web.bind.annotation.RequestM
import org.springframework.web.bind.annotation.RequestM
import org.springframework.web.bind.annotation.RequestP
import org.slf4j.L
import org.slf4j.LoggerF
import org.springframework.web.bind.annotation.ResponseB
import org.springframework.web.multipart.MultipartF
import org.springframework.web.multipart.MultipartHttpServletR
import javax.servlet.http.HttpServletR
import javax.servlet.http.HttpServletR
import java.io.*;
import java.util.L
@Controller
public class FileController {
@RequestMapping("/greeting")
public String greeting(@RequestParam(value="name", required=false, defaultValue="World") String name, Model model) {
model.addAttribute("name", name);
return "greeting";
private static final Logger logger = LoggerFactory.getLogger(FileController.class);
//文件上传相关代码
@RequestMapping(value = "upload")
@ResponseBody
public String upload(@RequestParam("test") MultipartFile file) {
if (file.isEmpty()) {
return "文件为空";
// 获取文件名
String fileName = file.getOriginalFilename();
logger.info("上传的文件名为:" + fileName);
// 获取文件的后缀名
String suffixName = fileName.substring(fileName.lastIndexOf("."));
logger.info("上传的后缀名为:" + suffixName);
// 文件上传后的路径
String filePath = "E://test//";
// 解决中文问题,liunx下中文路径,图片显示问题
// fileName = UUID.randomUUID() + suffixN
File dest = new File(filePath + fileName);
// 检测是否存在目录
if (!dest.getParentFile().exists()) {
dest.getParentFile().mkdirs();
file.transferTo(dest);
return "上传成功";
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
return "上传失败";
//文件下载相关代码
@RequestMapping("/download")
public String downloadFile(org.apache.catalina.servlet4preview.http.HttpServletRequest request, HttpServletResponse response){
String fileName = "FileUploadTests.java";
if (fileName != null) {
//当前是从该工程的WEB-INF//File//下获取文件(该目录可以在下面一行代码配置)然后下载到C:\\users\\downloads即本机的默认下载的目录
String realPath = request.getServletContext().getRealPath(
"//WEB-INF//");
File file = new File(realPath, fileName);
if (file.exists()) {
response.setContentType("application/force-download");// 设置强制下载不打开
response.addHeader("Content-Disposition",
"fileName=" + fileName);// 设置文件名
byte[] buffer = new byte[1024];
FileInputStream fis =
BufferedInputStream bis =
fis = new FileInputStream(file);
bis = new BufferedInputStream(fis);
OutputStream os = response.getOutputStream();
int i = bis.read(buffer);
while (i != -1) {
os.write(buffer, 0, i);
i = bis.read(buffer);
System.out.println("success");
} catch (Exception e) {
e.printStackTrace();
} finally {
if (bis != null) {
bis.close();
} catch (IOException e) {
e.printStackTrace();
if (fis != null) {
fis.close();
} catch (IOException e) {
e.printStackTrace();
//多文件上传
@RequestMapping(value = "/batch/upload", method = RequestMethod.POST)
@ResponseBody
public String handleFileUpload(HttpServletRequest request) {
List&MultipartFile& files = ((MultipartHttpServletRequest) request)
.getFiles("file");
MultipartFile file =
BufferedOutputStream stream =
for (int i = 0; i & files.size(); ++i) {
file = files.get(i);
if (!file.isEmpty()) {
byte[] bytes = file.getBytes();
stream = new BufferedOutputStream(new FileOutputStream(
new File(file.getOriginalFilename())));
stream.write(bytes);
stream.close();
} catch (Exception e) {
return "You failed to upload " + i + " =& "
+ e.getMessage();
return "You failed to upload " + i
+ " because the file was empty.";
return "upload successful";
7、index.html
&!DOCTYPE html&
&html lang="en"&
&title&Getting Started: Serving Web Content&/title&
&meta http-equiv="Content-Type" content="text/ charset=UTF-8" /&
&p&Get your greeting &a href="/greeting" rel="external nofollow" &here&/a&&/p&
&form action="/upload" method="POST" enctype="multipart/form-data"&
文件:&input type="file" name="test"/&
&input type="submit" /&
&a href="/download" rel="external nofollow" &下载test&/a&
&p&多文件上传&/p&
&form method="POST" enctype="multipart/form-data" action="/batch/upload"&
&p&文件1:&input type="file" name="file" /&&/p&
&p&文件2:&input type="file" name="file" /&&/p&
&p&&input type="submit" value="上传" /&&/p&
完整工程地址:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具spring boot 一次上传多个文件
两种方式:1.将多个文件置为同一个名称,放入数组 @RequestMapping(value="/item/store", method=RequestMethod.POST)
@ApiOperation(value = "添加幻灯片项", httpMethod = "POST", response = IBaseResult.class)
@ResponseBody
public IBaseResult storeItem(@ApiIgnore @ModelAttribute SlideshowItem slideshowItem
,@RequestParam("images") MultipartFile[] images
,HttpServletRequest request
}2.将多个文件永不同的名称区分开注意:requred
= false,允许这个文件为空 @RequestMapping(value="/item/update/{slideshowItemId}", method=RequestMethod.POST
, consumes=MediaType.MULTIPART_FORM_DATA_VALUE,produces = MediaType.APPLICATION_JSON_VALUE)
@ApiOperation(value = "修改幻灯片项", httpMethod = "POST", response = IBaseResult.class)
@ResponseBody
@ApiImplicitParams({
@ApiImplicitParam(name="title",value="标题",dataType="String", paramType = "query")
,@ApiImplicitParam(name="ordering",value="排序号",dataType="Integer", paramType = "query")
public IBaseResult updateItem(@ApiIgnore @ModelAttribute SlideshowItem slideshowItem,
@PathVariable("slideshowItemId") Integer slideshowItemId
,@RequestParam(required=false,name="backGround") MultipartFile backGround
,@RequestParam(required=false,name="overturnBackGround") MultipartFile overturnBackGround
,@RequestParam(required=false,name="overturnFrontGround") MultipartFile overturnFrontGround
,HttpServletRequest request
) {......}
详细全面的 SpringBoot 文件上传
没有更多推荐了,博客分类:
【视频&交流平台】
http://study.163.com/course/introduction.htm?courseId=&utm_campaign=commission&utm_source=061&utm_medium=share
http://study.163.com/course/introduction.htm?courseId=&utm_campaign=commission&utm_source=061&utm_medium=share
https://gitee.com/happyangellxq520/spring-boot
http://-qq-com.iteye.com/blog/2321532
网易云课堂视频最新更新:
第十一章 Spring Boot 日志
1、spring boot日志—理论
2、Spring Boot日志-logback
3、Spring Boot日志-log4j2
第十二章 Spring Boot 知识点2
1、spring boot 服务配置和部署
2、Spring Boot 定制URL匹配规则
文件上传主要分以下几个步骤:
(1)新建maven java project;
(2)在pom.xml加入相应依赖;
(3)新建一个表单页面(这里使用thymleaf);
(5)测试;
(6)对上传的文件做一些限制;
(7)多文件上传实现
(1)新建maven java project
新建一个名称为spring-boot-fileupload maven java项目;
(2)在pom.xml加入相应依赖;
加入相应的maven依赖,具体看以下解释:
spring boot 父节点依赖,
引入这个之后相关的引入就不需要添加version配置,
spring boot会自动选择最合适的版本进行添加。
&groupId&org.springframework.boot&/groupId&
&artifactId&spring-boot-starter-parent&/artifactId&
&version&1.3.3.RELEASE&/version&
&dependencies&
&!-- spring boot web支持:mvc,aop... --&
&dependency&
&groupId&org.springframework.boot&/groupId&
&artifactId&spring-boot-starter-web&/artifactId&
&/dependency&
&!-- thmleaf模板依赖. --&
&dependency&
&groupId&org.springframework.boot&/groupId&
&artifactId&spring-boot-starter-thymeleaf&/artifactId&
&/dependency&
&/dependencies&
&!-- 编译版本; --&
&artifactId&maven-compiler-plugin&/artifactId&
&configuration&
&source&1.8&/source&
&target&1.8&/target&
&/configuration&
&/plugins&
(3)新建一个表单页面(这里使用thymleaf)
在src/main/resouces新建templates(如果看过博主之前的文章,应该知道,templates是spring boot存放模板文件的路径),在templates下新建一个file.html:
&!DOCTYPE html&
&html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"
xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3"&
&title&Hello World!&/title&
&form method="POST" enctype="multipart/form-data" action="/upload"&
&p&文件:&input type="file" name="file" /&&/p&
&p&&input type="submit" value="上传" /&&/p&
编写controller进行测试,这里主要实现两个方法:其一就是提供访问的/file路径;其二就是提供post上传的/upload方法,具体看代码实现:
package com.
import java.io.BufferedOutputS
import java.io.F
import java.io.FileNotFoundE
import java.io.FileOutputS
import java.io.IOE
import org.springframework.stereotype.C
import org.springframework.web.bind.annotation.RequestM
import org.springframework.web.bind.annotation.RequestP
import org.springframework.web.bind.annotation.ResponseB
import org.springframework.web.multipart.MultipartF
@Controller
publicclass FileUploadController {
//访问路径为:http://127.0.0.1:8080/file
@RequestMapping("/file")
public String file(){
return"/file";
* 文件上传具体实现方法;
* @param file
@RequestMapping("/upload")
@ResponseBody
public String handleFileUpload(@RequestParam("file")MultipartFile file){
if(!file.isEmpty()){
* 这段代码执行完毕之后,图片上传到了工程的跟路径;
* 大家自己扩散下思维,如果我们想把图片上传到 d:/files大家是否能实现呢?
* 这里只是简单一个例子,请自行参考,融入到实际中可能需要大家自己做一些思考,比如:
* 1、文件路径;
* 2、文件名;
* 3、文件格式;
* 4、文件大小的限制;
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(new File(file.getOriginalFilename())));
out.write(file.getBytes());
out.flush();
out.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
return"上传失败,"+e.getMessage();
} catch (IOException e) {
e.printStackTrace();
return"上传失败,"+e.getMessage();
return"上传成功";
return"上传失败,因为文件是空的.";
(5)编写App.java然后测试
App.java没什么代码,就是Spring Boot的启动配置,具体如下:
package com.
import org.springframework.boot.SpringA
import org.springframework.boot.autoconfigure.SpringBootA
* Hello world!
//其中@SpringBootApplication申明让spring boot自动给程序进行必要的配置,等价于以默认属性使用@Configuration,@EnableAutoConfiguration和@ComponentScan
@SpringBootApplication
publicclass App {
publicstaticvoid main(String[] args) {
SpringApplication.run(App.class, args);
然后你就可以访问: 进行测试了,文件上传的路径是在工程的跟路径下,请刷新查看,其它的请查看代码中的注释进行自行思考。
(6)对上传的文件做一些限制;
对文件做一些限制是有必要的,在App.java进行编码配置:
public MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
//// 设置文件大小限制 ,超了,页面会抛出异常信息,这时候就需要进行异常信息的处理了;
factory.setMaxFileSize("128KB"); //KB,MB
/// 设置总上传数据总大小
factory.setMaxRequestSize("256KB");
//Sets the directory location where files will be stored.
//factory.setLocation("路径地址");
returnfactory.createMultipartConfig();
(7)多文件上传实现
多文件对于前段页面比较简单,具体代码实现:
在src/resouces/templates/mutifile.html
&!DOCTYPE html&
&html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"
xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3"&
&title&Hello World!&/title&
&form method="POST" enctype="multipart/form-data" action="/batch/upload"&
&p&文件1:&input type="file" name="file" /&&/p&
&p&文件2:&input type="file" name="file" /&&/p&
&p&文件3:&input type="file" name="file" /&&/p&
&p&&input type="submit" value="上传" /&&/p&
com.kfit.FileUploadController中新增两个方法:
* 多文件具体上传时间,主要是使用了MultipartHttpServletRequest和MultipartFile
* @param request
@RequestMapping(value="/batch/upload", method= RequestMethod.POST)
public@ResponseBody
String handleFileUpload(HttpServletRequest request){
List&MultipartFile& files = ((MultipartHttpServletRequest)request).getFiles("file");
MultipartFile file = null;
BufferedOutputStream stream = null;
for (inti =0; i& files.size(); ++i) {
file = files.get(i);
if (!file.isEmpty()) {
byte[] bytes = file.getBytes();
new BufferedOutputStream(new FileOutputStream(new File(file.getOriginalFilename())));
stream.write(bytes);
stream.close();
} catch (Exception e) {
return"You failed to upload " + i + " =& " + e.getMessage();
return"You failed to upload " + i + " because the file was empty.";
return"upload successful";
访问路径: 进行测试。
Spring Boot 系列博客】
(0)前言【从零开始学Spring Boot】 :
(1)spring boot起步之Hello World【从零开始学Spring Boot】:
(2)Spring Boot返回json数据【从零开始学Spring Boot】
(16)Spring Boot使用Druid(编程注入)【从零开始学Spring Boot】
(17)Spring Boot普通类调用bean【从零开始学Spring Boot】:
更多查看博客:
(393.6 KB)
下载次数: 671
浏览 17638
论坛回复 /
(0 / 23826)
非常感谢博主老师的无私奉献!
666666-喜欢谢谢....
浏览: 2166444 次
林祥纤 写道恨灬rumor 写道registry.addRes ...
tzq668766 写道无意中发现有个中文版的springbo ...
无意中发现有个中文版的springboot banner在线生 ...
恨灬rumor 写道registry.addResourceH ...
joekey 写道老大,这里有一个问题,如果我一个Contro ...
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'spring mvc 实现多文件上传,且同时包含表单信息
上篇虽然可以实现上传多个文件,但是没有实现上传多文件的同时上传表单其他信息 利用MultipartFile实现
upload.jsp 内容
& uri="" prefix="form"%&
&%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%&
&%@ taglib uri="" prefix="c"%&
&title&File Upload!&/title&
&script type="text/javascript"
src="&c:url value="/resources/js/jquery-1.9.1.js"/&"&&/script&
&script type="text/javascript"&
$(document)
function() {
$("#addFile")
function() {
var fileIndex = parseInt($(
"#addFileDiv").children().length);
var index = fileIndex - 2;
alert(index);
$("#addFileDiv")
'&input name="multiUploadFiles['+index+']" type="file"/&&br/&');
&!-- multiUploadFiles --&
&form:form action="/CensusRegisterApproveSystem/uploadFiles.action"
modelAttribute="multiFileUploadForm" method="post"
enctype="multipart/form-data"&
&div id="addFileDiv"&
&input type="text" name="itemname"& &br /&
&input type="text" name="description"& &br /&
&input type="file" name="multiUploadFiles[0]" /& &br /&
&input type="file" name="multiUploadFiles[1]" /&&br /&
&input type="button" id="addFile" value="添加文件" /&
&input type="submit" value="上传" /&
&/form:form&
需要创建po类MultiFileUploadForm.java 代码如下
public class MultiFileUploadForm {
public String getItemname()
public void setItemname(String itemname)
this.itemname =
public String getDescription()
public void setDescription(String description)
this.description =
private List&MultipartFile& multiUploadF
public List&MultipartFile& getMultiUploadFiles() {
return multiUploadF
public void setMultiUploadFiles(List&MultipartFile& multiUploadFiles) {
this.multiUploadFiles = multiUploadF
需要创建的controller类内容为:
@Controller
public class MultiFileUploadController {
@RequestMapping(value = "/uploadFiles", method = RequestMethod.POST)
public String uploadFile(
@ModelAttribute("multiFileUploadForm") MultiFileUploadForm multiFileUploadForm,
Model model) {
List&String& fileNames = new ArrayList&String&();
List&MultipartFile& requestFiles = new ArrayList&MultipartFile&();
System.out.println(multiFileUploadForm.getItemname());
System.out.println(multiFileUploadForm.getDescription());
requestFiles = multiFileUploadForm.getMultiUploadFiles();
if (null != requestFiles && requestFiles.size() & 0) {
for (MultipartFile mf : requestFiles) {
fileNames.add(mf.getOriginalFilename());
mf.transferTo(new File("D:/Upload/"
+ mf.getOriginalFilename()));
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
model.addAttribute("files", fileNames);
for (String file : fileNames) {
System.out.println(file);
return "items/success";
SpringMVC提交数据的同时上传文件
Springboot formdata
ajax 表单数据和图片一起上传
如何用SpringBoot框架来接收multipart/form-data文件
Springmvc下一次选多个文件上传(一)Form提交
怎么在一个表单里面同时上传文件和文本信息??
springMVC 上传文件同时传递参数
spring MVC提交处理带文件和非文件表单
SpringMVC如何同时解析form属性和文件
form如何把文件和表单数据一起上传
spring mvc表单多文件混合异步上传
没有更多推荐了,

我要回帖

更多关于 网上投标文件上传失败 的文章

 

随机推荐