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文件上传【通用】相关推荐

  1. JAVA文件上传详解(附源码)

    文章目录 JAVA文件上传详解(附源码) 1.准备工作 2.使用类介绍 FileItem类 ServletFileUpload类 3.代码编写 JAVA文件上传详解(附源码) 在web应用中,文件上传 ...

  2. java 文件上传 servlet_java文件上传-原始的Servlet方式

    前言: 干了这几个项目,也做过几次文件上传下载,要么是copy项目以前的代码,要么是百度的,虽然做出来了,但学习一下原理弄透彻还是很有必要的.刚出去转了一圈看周围有没有租房的,在北京出去找房子是心里感 ...

  3. Java文件上传大杀器-绕waf(针对commons-fileupload组件)

    Java文件上传大杀器-绕waf(针对commons-fileupload组件) Ps:高版本才有1.3以上 来个中二的标题,哈哈哈,灵感来源于昨晚赛博群有个师傅@我是killer发了篇新文章,在那篇 ...

  4. JAVA 文件上传下载工具类

    JAVA 文件上传下载工具类 import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.FileUtils; import org. ...

  5. 2021-10-14 ContextType(MIME) 与 Java文件上传/下载

    ContextType(MIME) 与 Java文件上传/下载 ContextType(MIME) Text Image Audio Video Application Multipart 和 Mes ...

  6. 图片和视频的上传(文件上传通用)

    流程如下: 1.先引入el-upload 2.调用上传前事件 3.上传前事件中将file文件转formData 4.调用后端oss接口上传文件 5.上传完成后回显数据 6.点击图片/视频预览 图片和视 ...

  7. java文件上传(MultipartFile)

    java文件上传(MultipartFile) java多文件上传_Java利用MultipartFile实现上传多份文件的代码 利用MultipartFile实现文件上传 Excel解析easyex ...

  8. java文件上传到云服务器,java文件上传到云服务器

    java文件上传到云服务器 内容精选 换一换 当用户拥有Linux操作系统的外部镜像文件,且类型及操作系统符合外部镜像文件格式和操作系统类型要求时,用户可以将外部镜像文件创建为Linux系统盘镜像. ...

  9. JAVA文件上传 ServletFileUpLoad 实例

    1.  jsp <%@ page language="java" contentType="text/html" pageEncoding="u ...

  10. Java 文件上传 MultipartFile与ServletFileUpload

    JAVA文件上传 ServletFileUpload 参考这个:https://www.cnblogs.com/liuyangv/p/8298997.html Java文件上传 MultipartFi ...

最新文章

  1. 凯明MAE被超越了?字节跳动iBOT刷新十几项SOTA
  2. Delete Volume 操作 - 每天5分钟玩转 OpenStack(57)
  3. java contions_Java数据结构与算法
  4. 练手CF3-C - Wormhouse
  5. 人类历史上最伟大的物理学家
  6. 列表推导式 python原理_python之列表推导式
  7. 窥探Swift之别样的枚举类型
  8. 三十六.MHA集群概述 、 部署MHA集群 测试配置
  9. Java程序员 面试如何介绍项目经验?
  10. php 字符串长度判断_php 字符串长度判断更高效的方法
  11. InfoGAN详细介绍及特征解耦图像生成
  12. 多智能体深度强化学习值分解方法总结(1)——VDN/QMIX/QTRAN/Qatten
  13. JavaSwing_2.2: JButton(按钮)
  14. 安装黑苹果先判断你的电脑硬件是否有驱动支持
  15. Jenkins杀掉子进程解决方法(转载)
  16. 胶印润版液消泡剂用来胶印润版液除泡问题处理得干干净净
  17. 2021-08-18-ideal配置github时报:insufficient scopes granted to the token
  18. 如何实现页面广告随时上下线、过期自动下线及到时自动上线
  19. 文法与语言(笔记版)
  20. 几个简单的论文下载方法

热门文章

  1. 新概念英语第三册 阅读
  2. 获取webshell的方法
  3. Oracle-数据库的备份与恢复
  4. resin 配置java_resin安装与配置
  5. powerDesign逆向工程Mysql转Oracle
  6. 进击的巨人有趣表情包
  7. 如何通过Dropbox访问iPad上的电子书库
  8. 学校计算机网络管理员面试,网络管理员面试题及答案
  9. 论文解读:Structural Optimization Makes Graph Classification Simpler and Better
  10. 将人民币大写金额格式转为数字金额格式C#代码