Java文件上传【通用】
Java文件上传 主要是针对于网页来说,一般是通过input的file类型上传文件流到后台,再通过后台处理将文件移动到指定位置达到上传的目的。
这里贴代码时,主要是以springboot框架为例,但是是通用的。
1、表单提交上传
<form enctype="multipart/form-data" method="post" action="/upload">文件:<input type="file" name="fileUpload"/><input type="submit" value="上传"/>
</form>
@RequestMapping("/upload")public String upload(MultipartFile fileUpload) throws IOException{//获取文件名String fileName = fileUpload.getOriginalFilename();//获取文件后缀名String suffixName = fileName.substring(fileName.lastIndexOf("."));//重新生成文件名fileName = UUID.randomUUID()+suffixName;//指定本地文件夹存储图片String filePath = "D:/idea/IdeaProjects/springbootdemo/src/main/resources/static/";fileUpload.transferTo(new File(filePath+fileName)); return "index"; }
提交表单的话会刷新界面,一般不推荐,但这是比较简单的方法,一般推荐使用ajax提交。
2、ajax提交上传(FormData)
<script>
function uploadHead() {var formData = new FormData();var file = $('#file')[0].files[0];formData.append("upload",file);$.ajax({url:"/uploadHead",async:true,processData: false, // jQuery不要去处理发送的数据contentType: false, // jQuery不要去设置Content-Type请求头type:"POST",data: formData,success:function (data) {if(data=="1"){alert("上传成功");}else{alert("上传失败");}},error:function () {alert("更新失败");},dataType:"text"});}
</script>
<input type="file" name="multipartFile" class="fileInput" id="file" >
<input type="button" onclick="uploadHead();">
//我将上传文件做成工具类:/*** 上传文件* @param upload* @param path* @return* @throws IOException*/public String UploadFile(MultipartFile upload,String path) throws IOException {//判断该路径是否存在File file = new File(path);if (!file.exists()) {//如果这个文件夹不存在的话,就创建这个文件file.mkdirs();}//获取上传文件名称String filename = upload.getOriginalFilename();System.out.println(filename);//把文件名称设置成唯一值 uuid 以防止文件名相同覆盖String uuid = UUID.randomUUID().toString().replace("-", "");//新文件名filename = uuid + "_" + filename;System.out.println(filename);//完成文件上传upload.transferTo(new File(path, filename));String filePath = "upload/" + filename;return filePath;}//这里的话是已经将文件上传并即将图片记录在数据库并更换(mybatis)
@RequestMapping("uploadHead")public void ReturnHead(HttpServletRequest request, HttpServletResponse response, MultipartFile upload) throws IOException {User userSession = (User) request.getSession(true).getAttribute("userSession");OperateFile operateFile = new OperateFile();if (userSession!=null){String path = ResourceUtils.getURL("classpath:").getPath() + "static/upload";//System.out.println(path);String filePath = operateFile.UploadFile(upload,path);//文件上传成功String filename = upload.getOriginalFilename();String fileUuid = UUID.randomUUID().toString().replace("-", "");Img img = new Img();//进行图片记录img.setUuid(fileUuid);img.setImg_name(filename);img.setImg_type(1);img.setImg_path(filePath);img.setNote(userSession.getUuid()+"用户上传");int c = userService.addImg(img);if (c>0){User u1 = new User();u1.setUuid(userSession.getUuid());u1.setImg_uuid(fileUuid);int c1 = userService.updateHead(u1);if (c1>0){response.getWriter().write("1");}else{response.getWriter().write("0");}}else{response.getWriter().write("0");}}}
注意:获取当前项目存储路径的问题
//一般适用,指当前项目下的upload文件夹下
String path = request.getSession().getServletContext().getRealPath("/upload/");//springboot比较特殊,需要放在static文件夹下路径
String path = ResourceUtils.getURL("classpath:").getPath() + "static/upload";
Java文件上传【通用】相关推荐
- JAVA文件上传详解(附源码)
文章目录 JAVA文件上传详解(附源码) 1.准备工作 2.使用类介绍 FileItem类 ServletFileUpload类 3.代码编写 JAVA文件上传详解(附源码) 在web应用中,文件上传 ...
- java 文件上传 servlet_java文件上传-原始的Servlet方式
前言: 干了这几个项目,也做过几次文件上传下载,要么是copy项目以前的代码,要么是百度的,虽然做出来了,但学习一下原理弄透彻还是很有必要的.刚出去转了一圈看周围有没有租房的,在北京出去找房子是心里感 ...
- Java文件上传大杀器-绕waf(针对commons-fileupload组件)
Java文件上传大杀器-绕waf(针对commons-fileupload组件) Ps:高版本才有1.3以上 来个中二的标题,哈哈哈,灵感来源于昨晚赛博群有个师傅@我是killer发了篇新文章,在那篇 ...
- JAVA 文件上传下载工具类
JAVA 文件上传下载工具类 import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.FileUtils; import org. ...
- 2021-10-14 ContextType(MIME) 与 Java文件上传/下载
ContextType(MIME) 与 Java文件上传/下载 ContextType(MIME) Text Image Audio Video Application Multipart 和 Mes ...
- 图片和视频的上传(文件上传通用)
流程如下: 1.先引入el-upload 2.调用上传前事件 3.上传前事件中将file文件转formData 4.调用后端oss接口上传文件 5.上传完成后回显数据 6.点击图片/视频预览 图片和视 ...
- java文件上传(MultipartFile)
java文件上传(MultipartFile) java多文件上传_Java利用MultipartFile实现上传多份文件的代码 利用MultipartFile实现文件上传 Excel解析easyex ...
- java文件上传到云服务器,java文件上传到云服务器
java文件上传到云服务器 内容精选 换一换 当用户拥有Linux操作系统的外部镜像文件,且类型及操作系统符合外部镜像文件格式和操作系统类型要求时,用户可以将外部镜像文件创建为Linux系统盘镜像. ...
- JAVA文件上传 ServletFileUpLoad 实例
1. jsp <%@ page language="java" contentType="text/html" pageEncoding="u ...
- Java 文件上传 MultipartFile与ServletFileUpload
JAVA文件上传 ServletFileUpload 参考这个:https://www.cnblogs.com/liuyangv/p/8298997.html Java文件上传 MultipartFi ...
最新文章
- 凯明MAE被超越了?字节跳动iBOT刷新十几项SOTA
- Delete Volume 操作 - 每天5分钟玩转 OpenStack(57)
- java contions_Java数据结构与算法
- 练手CF3-C - Wormhouse
- 人类历史上最伟大的物理学家
- 列表推导式 python原理_python之列表推导式
- 窥探Swift之别样的枚举类型
- 三十六.MHA集群概述 、 部署MHA集群 测试配置
- Java程序员 面试如何介绍项目经验?
- php 字符串长度判断_php 字符串长度判断更高效的方法
- InfoGAN详细介绍及特征解耦图像生成
- 多智能体深度强化学习值分解方法总结(1)——VDN/QMIX/QTRAN/Qatten
- JavaSwing_2.2: JButton(按钮)
- 安装黑苹果先判断你的电脑硬件是否有驱动支持
- Jenkins杀掉子进程解决方法(转载)
- 胶印润版液消泡剂用来胶印润版液除泡问题处理得干干净净
- 2021-08-18-ideal配置github时报:insufficient scopes granted to the token
- 如何实现页面广告随时上下线、过期自动下线及到时自动上线
- 文法与语言(笔记版)
- 几个简单的论文下载方法