-
父级pom文件案例上传
2020-01-15 11:17:15pom文件,如其中有不需要的jar包,可以自行删除,可能没有什么用, -
Maven: nexus上传父Pom文件
2020-06-15 15:39:48这里写自定义目录标题Maven: nexus上传父Pom文件 Maven: nexus上传父Pom文件 有时候我们会需要单独部署一个文件到maven的本地库或者远程库中,一般来说会是一个比较高层的pom文件(即父Pom文件),方法如图所示: ...有时候我们会需要单独部署一个文件到maven的本地库或者远程库中,一般来说会是一个比较高层的pom文件(即父Pom文件),方法如图所示:
-
修改pom文件_文件上传的方式有哪些?
2021-01-12 22:39:56文件上传的方式Servlet2.5 方式Servlet3.0 方式SpringMVC 方式案例实操Servlet2.5 方式文件上传涉及到前台页面的编写和后台服务器端代码的编写,前台发送文件,后台接收并保存文件,这才是一个完整的文件上传。...上回我们说了下文件下载的方式有哪些,这次我们从不同的环境下简单来说说文件上传的方式有哪些。
文件上传的方式
- Servlet2.5 方式
- Servlet3.0 方式
- SpringMVC 方式
案例实操
Servlet2.5 方式
文件上传涉及到前台页面的编写和后台服务器端代码的编写,前台发送文件,后台接收并保存文件,这才是一个完整的文件上传。
1) 前台页面
在做文件上传的时候,会有一个上传文件的界面,首先我们需要一个表单,并且表单的请求方式为 POST;其次我们的 form 表单的 enctype 必须设为”multipart/form-data”即 enctype=“multipart/form-data” 意思是设置表单的 MIME 编码。默认情况下这个编码格式是 ”application/x-www-form-urlencoded”,不能用于文件上传;只有使用了 multipart/form-data 才能完整地传递文件数据。
上传文件文件:12345678910111213
想要获取更多Java相关的学习资料,加微信:lezijie007 暗号:999 你需要的通通有哦
2) 后台 commons-fileupload 的使用
首先需要导入第三方jar包,http://commons.apache.org/ 下载 commons-io 和 commons-fileupload 两个jar的资源。解压并导入到项目中。commons-fileupload.jar 是文件上传的核心包 commons-io.jar 是 fileupload 的依赖包,同时又是一个工具包。
介绍一下使用到的几个核心类
DiskFileItemFactory – 设置磁盘空间,保存临时文件。只是一个工具类
ServletFileUpload – 文件上传的核心类,此类接收 request,并解析
ServletFileUpload.parseRequest(request); – List 解析 request
1、创建一个 DiskFileItemFactory 工厂类,并制定临时文件和大小
2、创建 ServletFileUpload 核心类,接收临时文件,做请求的转换
3、通过 ServletFileUpload 类转换原始请求,得到 FileItem 集合
4、遍历集合中的各个元素并处理
5、判断每个元素是否是普通表单项,如果是则按照普通表单项处理
6、如果不是普通表单项,则是文件,通过处理的方式进行处理(上传)
public class UploadServlet extends HttpServlet {private static final long serialVersionUID = 1L;protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// 设定编码,可以获取中文文件名request.setCharacterEncoding("UTF-8");// 获取tomcat下的upload目录的路径String path = getServletContext().getRealPath("/upload");// 临时文件目录String tempPath = getServletContext().getRealPath("/temp");// 检查我们是否有文件上传请求// boolean isMultipart = ServletFileUpload.isMultipartContent(req);// 1、声明DiskFileItemFactory工厂类,用于在指定磁盘上设置一个临时目录DiskFileItemFactory disk = new DiskFileItemFactory(1024 * 10, new File(tempPath));// 2、声明ServletFileUpload,接收上面的临时文件。也可以默认值ServletFileUpload up = new ServletFileUpload(disk);// 3、解析requesttry {List list = up.parseRequest(request);if (list.size() > 0) {for (FileItem file : list) {// 判断是否是普通的表单项if (file.isFormField()) {String fieldName = file.getFieldName();// 中文乱码,此时还需要指定获取数据的编码方式// String value = file.getString();String value = file.getString("UTF-8");System.out.println(fieldName + "=" + value);} else { // 说明是一个文件// 获取文件本身的名称String fileName = file.getName();System.out.println(file.getFieldName());// 处理文件名称fileName = fileName.substring(fileName.lastIndexOf("") + 1);System.out.println("old Name : " + fileName);// 修改名称String extName = fileName.substring(fileName.lastIndexOf("."));String newName = UUID.randomUUID().toString().replace("-", "") + extName;// 保存新的名称,并写出到新文件中file.write(new File(path + "/" + newName));System.out.println("文件名是:" + fileName);System.out.println("文件大小是:" + file.getSize());file.delete();}}}} catch (FileUploadException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}}}123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
Servlet3.0 方式
使用注解 @MultipartConfig 将一个 Servlet 标识为支持文件上传。Servlet3.0 将 multipart/form-data 的 POST 请求封装成 Part,通过 Part 对上传的文件进行操作。
前台
上传文件姓名:文件:1234567891011121314
后台
@WebServlet("/upload")@MultipartConfigpublic class UploadServlet extends HttpServlet {private static final long serialVersionUID = 1L;protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {System.out.println("上传文件...");// 设置编码request.setCharacterEncoding("UTF-8");// 获取普通表单项参数String uname = request.getParameter("uname");System.out.println(uname);// 上传文件// 得到part对象 request.getpart(name):name代表的是表单中file元素的name属性值Part part = request.getPart("myfile");// 得到文件存放的路径String path = request.getServletContext().getRealPath("/");// 得到文件名String fileName = part.getSubmittedFileName();// 上传part.write(path + fileName);}}123456789101112131415161718192021222324
SpringMVC 方式
Pom 文件修改 添加 commons-fileupload 依赖
commons-fileupload commons-fileupload 1.3.2 123456789
servlet-context.xml
1048576004096 123456789101112131415
FileController
import java.io.File; import java.io.IOException; import javax.servlet.http.HttpServletRequest; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.ModelAndView; @Controller public class FileController { @RequestMapping("/uploadFile") public ModelAndView uploadFile(HttpServletRequest request){ ModelAndView mv=new ModelAndView(); mv.setViewName("result"); MultipartHttpServletRequest mr=(MultipartHttpServletRequest) request; MultipartFile multipartFile= mr.getFile("file"); String path=request.getSession().getServletContext().getRealPath("upload"); System.out.println(path); if(null!=multipartFile&&!multipartFile.isEmpty()){ String fileName=multipartFile.getOriginalFilename(); try { multipartFile.transferTo(new File(path,fileName)); mv.addObject("msg", "文件上传成功!"); } catch (Exception e) { mv.addObject("msg", "上传失败!"); e.printStackTrace(); } } return mv; } } 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
前台表单
提交 1234567
扩展~MIME
MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。
它是一个互联网标准,扩展了电子邮件标准,使其能够支持:
非ASCII字符文本;非文本格式附件(二进制、声音、图像等);由多部分(multiple parts)组成的消息体;包含非ASCII字符的头信息(Header information)。
这个标准被定义在RFC 2045、RFC 2046、RFC 2047、RFC 2048、RFC 2049等RFC中。 MIME改善了由RFC 822转变而来的RFC 2822,这些旧标准规定电子邮件标准并不允许在邮件消息中使用7位ASCII字符集以外的字符。正因如此,一些非英语字符消息和二进制文件,图像,声音等非文字消息原本都不能在电子邮件中传输(MIME可以)。MIME规定了用于表示各种各样的数据类型的符号化方法。 此外,在万维网中使用的HTTP协议中也使用了MIME的框架,标准被扩展为互联网媒体类型。
查看不同文件对应的 MIME 类型,推荐大家一种方式,以 Tomcat为例,它下面的 web.xml 文件可以查看所有的MIME类型,通过 Ctrl + F 搜索快速找到你想知道的文件对应的 MIME 类型。
-
修改pom文件_实现springboot多文件上传的最佳方案
2021-01-13 08:20:26 一说明 spingMVC支持文件上传,我们通过Apach 的 commons-fileupload 包的CommonsMultipartResolver 去实现了 spingMVC的MultipartResolver 。 本文章的示例是个简单的多文件上传,根据不同的业务自行修改。二pom... 一说明
spingMVC支持文件上传,我们通过Apach 的 commons-fileupload 包的CommonsMultipartResolver 去实现了 spingMVC的MultipartResolver 。 本文章的示例是个简单的多文件上传,根据不同的业务自行修改。
二pom.xlm
<dependencies> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.3</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>
三 application.yml
spring: servlet: multipart: max-file-size: 200MB #单个文件上传大小 max-request-size: 600MB #连续上传文件大小 youku1327: file: root: path: "C:mydatageneratorversion06" #存储路径
四controller
/** * @Author lsc * @Description <p> </p> * @Date 2019/10/2 20:58 * @Version 1.0 */ @RestController public class FileUploadController { @Value("${youku1327.file.root.path}") private String fileRootPath; @PostMapping("/file/upload") public String fileUpload(@RequestParam("files")MultipartFile[] files){ String filePath = ""; // 多文件上传 for (MultipartFile file : files){ // 上传简单文件名 String originalFilename = file.getOriginalFilename(); // 存储路径 filePath = new StringBuilder(fileRootPath) .append(System.currentTimeMillis()) .append(originalFilename) .toString(); try { // 保存文件 file.transferTo(new File(filePath)); } catch (IOException e) { e.printStackTrace(); } } return filePath; } }
五启动类
/** * @Author lsc * @Description <p> </p> * @Date 2019/10/2 20:54 * @Version 1.0 */ @SpringBootApplication public class FileUploadApplication { public static void main(String[] args) { SpringApplication.run(FileUploadApplication.class,args); } }
六测试
发送http的post请求,使用表单形式,key为files需要与MultipartFile[] 的参数名称一致,挑选两个文件,发送成功后,会看到最后返回的文件路径;
打开保存的文件路径可以发现已经实现文件上传。
-
pom文件project标签报错_Spring Boot 2.x 实现文件上传
2020-11-25 19:27:50Spring Boot 2.x 实现文件上传简述此教程是一个日常上传文件的脚手架,用到的很多,就写一个简单的Demo,为了日后更加方便的CV编程,有紧急需求的可直接去源码CV源码地址...?xml version="1.0" en...Spring Boot 2.x 实现文件上传
简述
此教程是一个日常上传文件的脚手架,用到的很多,就写一个简单的Demo,为了日后更加方便的CV编程,有紧急需求的可直接去源码CV
源码地址
https://github.com/Gleans/SpringBootLearn/tree/master/springboot-upfile
新建项目
目录
pom.xml
<?xml version="1.0" encoding="UTF-8"?> <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 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.2.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.example</groupId> <artifactId>springboot-upfile</artifactId> <version>0.0.1-SNAPSHOT</version> <name>springboot-upfile</name> <description>Demo project for Spring Boot</description> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- Thymeleaf组件 动态页面--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <exclusions> <exclusion> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> </exclusion> </exclusions> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
UploadServiceImpl.java
package com.example.springbootupfile.service.impl; import com.example.springbootupfile.service.UploadService; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; import java.io.InputStream; import java.nio.file.Files; import java.nio.file.Paths; import java.nio.file.StandardCopyOption; import java.util.HashMap; import java.util.Map; @Service public class UploadServiceImpl implements UploadService { @Value("${file.path}") private String path; @Override public Map<Object, Object> uploadFile(MultipartFile file) throws IOException { Map<Object, Object> resultMap = new HashMap<>(4); if (file.isEmpty()) { resultMap.put("code", -1); resultMap.put("msg", "文件不能为空"); } // 得到上传时的文件du名 String fileName = file.getOriginalFilename(); // 获取文件输入流 InputStream is = file.getInputStream(); /* * 使用 Files.copy 命令将文件从输入流源复制到目标目录 * StandardCopyOption.REPLACE_EXISTING 覆盖已有的目标路径 */ Files.copy(is, Paths.get(path + fileName), StandardCopyOption.REPLACE_EXISTING); resultMap.put("code", 0); resultMap.put("msg", "success"); return resultMap; } }
自行创建一个
UploadService
接口简单的前端上传页面
templates/index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h1>上传文件</h1> <form action="/upload" method="post" enctype="multipart/form-data"> <label>选择文件</label> <input type="file" name="file"> <button type="submit">上传</button> </form> </body> </html>
templates/result.html
<!DOCTYPE html> <html lang="en" xmlns:th="http://www.w3.org/1999/xhtml"> <head> <meta charset="UTF-8"> <title>返回页面</title> </head> <body> <h1>返回结果</h1> <p>返回代码:<span th:text="${code}"></span></p> <p>message:<span th:text="${msg}"></span></p> </body> </html>
配置文件
配置上传的路径
file.path=D:baidu
启动类
SpringbootUpfileApplication.java
package com.example.springbootupfile; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class SpringbootUpfileApplication { public static void main(String[] args) { SpringApplication.run(SpringbootUpfileApplication.class, args); } }
启动项目
上传页面
返回页面
-
单独jar包的上传 pom文件 withholding-transaction-jar-1.1.0-SNAPSHOT.pom
2017-08-23 17:00:22<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=... -
springmvc文件上传
2020-08-01 23:44:39文章目录1、传统方式文件上传2、Springmvc文件上传3、跨服务器文件上传 1、传统方式文件上传 pom.xml <!--文件上传依赖 --> <dependency> <groupId>commons-fileupload</groupId> <... -
SpringCloudFeign多文件上传
2019-11-01 10:24:21文章目录SpringCloudFeign多文件上传Feign多文件上传POM依赖Fiegn接口端配置类Feign接口接口提供端接口消费端在代码中调用Feign多文件上传,上面代码不需要改变消费方代码 SpringCloudFeign多文件上传 Feign多文件... -
pom文件project标签报错_springboot+mybatis实现excel文件上传
2020-11-26 05:56:25点击上方Java开发联盟,选择“星标公众号”优质文章,第一时间送达简介:项目要求有excel文件上传这个功能,由于这个功能十分常见所以公司也有这个功能的相关模块来处理,只是接触了springboot有一段时间了,所以想... -
maven上传jar包含pom文件
2018-09-26 19:29:00mvn deploy:deploy- file -Dfile=D:\rate-limit-core- 1.1 . 1 .jar ...settings.xml 指定setting文件 ...上传到maven私库的时候,注意制定pom文件 转载于:https://www.cnblogs.com/number7/p/9709074.html -
SpringBoot文件上传下载和多文件上传(图文详解)
2017-01-16 20:16:02最近在学习SpringBoot,以下是最近学习整理的实现文件上传下载的java代码: 1、开发环境: IDEA15+ Maven+JDK1.8 2、新建一个maven工程: 3、工程框架 4、pom.xml文件依赖项... -
springmvc文件上传与json支持
2019-11-25 12:07:00springmvc文件上传与json支持springmvc文件上传pom依赖springmvc.xmlupload.jspXXXControl配置一下图片的虚拟映射:json支持 springmvc文件上传 pom依赖 <dependency> <groupId>commons-fileupload<... -
jar文件和pom.xml文件依赖之间的转换
2019-02-24 23:42:57目录一、Jar文件转pom.xml依赖二、pom.xml依赖转Jar文件 一、Jar文件转pom.xml依赖 源码获取 (1)、源码已上传至GitHub,地址:https://github.com/291685399/jartopom.git (2)、积分充足的大佬可以使用积分下载,... -
springMVC文件上传
2018-09-19 20:55:56MultipartFile 支持所有类型文件上传 pom依赖: <properties> <commons-fileupload.version>1.3.1</commons-fileupload.version> <lombok.version&... -
记录maven根据不同pom文件上传到私库
2021-04-16 11:06:35mvn clean deploy -f xxx.xml -Dmaven.test.skip=true -
mvn上传pom/jar至Nexus私服
2020-12-19 14:37:31上传jar文件 mvn deploy:deploy-file -Dfile={file} -DrepositoryId={repositoryId} -Durl={url} -DpomFile={pom} -Dpackaging=jar eg: mvn deploy:deploy-file -Dfile=xxx.jar -DrepositoryId=tbsnexus -Durl=... -
SpringMVC文件上传和Json处理
2019-10-03 17:42:44SpringMVC文件上传和Json处理文件上传Json处理 文件上传 pom依赖 <!--文件上传--> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</... -
Springmvc实现文件上传
2020-11-26 12:00:55Springmvc实现文件上传 pom.xml中引入jar包 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.7</maven.compiler.source&... -
文件上传和拦截器
2018-02-01 21:37:101. 文件上传 pom.xml的配置 首先我们需要在pom.xml中配置如下的依赖文件 commons-io commons-io 2.4 commons-fileupload commons-fileupload 1.3.1 将工程所需要的jar包进行引入 Spring上下文文件的配置 bean ... -
手动上传jar包到maven私服并指定pom文件:
2020-09-19 22:20:30如果只是单独上传jar包到maven私服,则对应的pom文件是由maven私服自动生成的,其中只包含上传jar包文件自身简单的信息(groupId,artifactId,version),而它所依赖的别的jar包的信息不会添加到自动生成的pom文件... -
SpringMVC 文件上传 和 JSON处理
2019-09-29 20:56:00SpringMVC文件上传JSON处理 文件上传 pom.xml <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.3<... -
springMvc7 - 文件上传、下载
2020-07-12 14:13:00目录单文件上传多文件上传 单文件上传 pom 文件中,添加代码: resources/ springmvc.xml 中,添加代码: webapp 中,新建 upload.jsp,加入代码: input 的 type 设置为 file。 form 的 method 设置为 post(get ... -
maven上传jar和pom文件到nexue私服
2018-07-03 16:17:51文章转自Maven : 将Jar安装到本地仓库和Jar上传到私服 打包到本地仓库 mvn install:install-file -Dfile=C:\Users\madman\Desktop\alipay-sdk-java20161121110022.jar -DgroupId=... -
JavaWeb实现文件上传及邮件发送
2020-12-06 20:47:34pom.xml配置,导入文件上传的相应jar包 <dependencies> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>javax.servlet.jsp-api</artifactId> <version... -
SpringMvc文件上传和json处理
2019-10-04 02:21:46文件上传 pom依赖 <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.3</versio... -
springMVC 文件上传 和 json处理
2019-09-29 19:49:06文件上传 pom.xml <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.3</version> </de... -
SpringBoot的文件上传&下载
2019-01-14 01:58:00文件上传 pom依赖添加commons-io <!-- 上传/下载jar https://mvnrepository.com/artifact/commons-io/commons-io --> <dependency> <groupId>commons-io</groupId> <artifactI... -
传统文件上传/SpringMVC文件上传/跨服务器上传文件
2020-04-25 17:58:05传统文件上传/SpringMVC文件上传/跨服务器上传文件 项目结构fileupload**(文件服务器)/springmvc_fileupload(上传文件服务器)** springmvc_fileupload配置文件 pom.xml <?xml version="1.0" encoding="UTF-8"?... -
Spring Boot 2.x 嵌入式 Tomcat 文件上传下载、url 映射虚拟路径
2019-03-17 10:37:07文件上传 pom.xml application.yml UploadFileController index.html 上传测试 url 映射虚拟路径 application.yml WebMvcConfigurer UploadFileController 上传与访问测试 需求分析 1、Java web 应用... -
【记录】Nexus上传到私库的pom文件配置案例
2020-11-29 14:21:14<?xml version="1.0" encoding="UTF-8"?> <project xmlns=... xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">