1. Java单文件上传接口

import org.springframework.web.multipart.MultipartFile;import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.UUID;/*** @description:* @create: 2019-08-22 11:00**/
public class FileUploadUtil {/*** 上传文件工具类* @param uploadFile 文件* @param fileDir 文件目录名* @param request* @return*/public static Msg uploadUtil(MultipartFile uploadFile,String fileDir, HttpServletRequest request) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");String realPath = request.getSession().getServletContext().getRealPath("/upload/" + fileDir+"/");System.out.println("文件上传:"+realPath);String format = sdf.format(new Date());File folder = new File(realPath + format);//是否目录if (!folder.isDirectory()) {folder.mkdirs();}String filePath = "";String oldName = uploadFile.getOriginalFilename();String newName = UUID.randomUUID().toString() + oldName.substring(oldName.lastIndexOf("."), oldName.length());try {//用于图片上传时,把内存中图片写入磁盘uploadFile.transferTo(new File(folder, newName));filePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + "/upload/" +fileDir+"/" + format +"/"+ newName;Msg msg = Msg.success();msg.add("path",filePath);return msg;} catch (Exception e) {e.printStackTrace();}return Msg.fail();}
}

2. Java多文件上传接口

import com.newtouch.dangjian.baseapi.util.Info;
import com.newtouch.dangjian.party.service.DeptService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;import javax.persistence.criteria.Predicate;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.*;/*** @Description* @Author lph* @Date 2020-05-03* @Version V1.0**/
@RestController
@RequestMapping(path = "upfile")
@Slf4j
public class FileUpLoadController {SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd/");@PostMapping("/uploads")public String upload(MultipartFile[] uploadFiles, HttpServletRequest request) {List list = new ArrayList();//存储生成的访问路径if (uploadFiles.length > 0) {for (int i = 0; i < uploadFiles.length; i++) {MultipartFile uploadFile = uploadFiles[i];//设置上传文件的位置在该项目目录下的uploadFile文件夹下,并根据上传的文件日期,进行分类保存String realPath = request.getSession().getServletContext().getRealPath("uploadFile");String format = sdf.format(new Date());File folder = new File(realPath + format);if (!folder.isDirectory()) {folder.mkdirs();}String oldName = uploadFile.getOriginalFilename();System.out.println("oldName = " + oldName);String newName = UUID.randomUUID().toString() + oldName.substring(oldName.lastIndexOf("."), oldName.length());System.out.println("newName = " + newName);try {//保存文件uploadFile.transferTo(new File(folder, newName));//生成上传文件的访问路径String filePath = request.getScheme() + "://" + request.getServerName() + ":"+ request.getServerPort() + "/uploadFile" + format + newName;list.add(filePath);} catch (IOException e) {e.printStackTrace();}}return list.toString();} else if (uploadFiles.length == 0) {return "请选择文件8";}return "上传失败";}}

单文件上传接口是本人及同事所写,多文件上传接口的作者是@Author lph

实现文件上传的时候,可以这样做,文件上传单独做成一个接口,返回值是文件路径。然后普通表单做一个接口,文件上传成功后,将文件接口成功返回的路径放到普通表单中,字段是hidden的input。这样提交到普通接口的时候,普通表单字段和文件路径就可以一并写入到数据库中了。

注:第一段亲测有效,可以将入参改为数组类型,这样就变成了多文件上传,那个Msg是自定义的通用返回类;第二段是朋友写的,小伙伴们可以测试一下,本人还未测试。

Java文件上传接口相关推荐

  1. FastDFS的配置、部署与API使用解读(8)FastDFS多种文件上传接口详解(转)

    1.StorageClient与StorageClient1的区别 相信使用happy_fish的FastDFS的童鞋们,一定都熟悉StorageClient了,或者你熟悉的是StorageClien ...

  2. springmvc图片文件上传接口

    springmvc图片文件上传 用MultipartFile文件方式传输 Controller package com.controller;import java.awt.image.Buffere ...

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

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

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

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

  5. android上传文件php,PHP编写安卓文件上传接口

    为了快速满足安卓客户端或跨域文件上传接口,现在用PHP写个可以文件上传类.可通过安卓客户端或者其他域名的网站上传窗口,可以把文件上传指定的服务器中,下面是详细代码.//主方法获取上传文件 public ...

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

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

  7. layui文件上传接口后端具体实现SpringMVC

    做课程设计时候,用到了layui文件上传接口,参考官方文档给出的响应接口文档: {"code": 0,"msg": "","dat ...

  8. Golang 调用http 文件上传接口 进行上传文件

    远程服务器有一个文件上传接口,文件用于保存到服务器本地,用go如何调用此接口将文件上传至服务器? 首先,文件上传请求方 与 接收方 要协调工作(解析等工作) 接收方: func UploadFileT ...

  9. SpringBoot实现文件上传接口

    作者平台: | CSDN:blog.csdn.net/qq_41153943 | 掘金:juejin.cn/user/651387- | 知乎:www.zhihu.com/people/1024- | ...

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

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

最新文章

  1. 通过IP地址和子网掩码与运算计算相关地址
  2. ftp windows无法访问此文件夹请确保输入的文件名_企业实战|企业FTP搭建
  3. LightTools 切趾角度设置
  4. javascript之值传递与引用传递
  5. 自定义注解做数据验证
  6. Ubuntu14.04下使用apt-get命令傻瓜式安装ffmepg成功
  7. Mybatis的模糊查询
  8. 2020 ICPC 上海 Sum of Log 数位dp + 状态剪枝
  9. 【JS 逆向百例】cnki 学术翻译 AES 加密分析
  10. 内固定取出术后护理_股骨内固定钢板取出术后护理查房记录范文
  11. python3 django开发_python3开发进阶-Django框架学习前的小项目(一个简单的学员管理系统)...
  12. 2019 第八/九周/十周 开发笔记
  13. IOS多线程任务(综述篇)
  14. Linux驱动(11)--生成设备节点
  15. switch中case后可以是表达式吗_Java中的 quot;如果,那么quot; 怎么表达?
  16. jquery与json的结合
  17. 平面设计师进步素材模板,设计基础!
  18. 《Linux内核修炼之道》——2.2 编译内核
  19. AutoRobot微信/QQ定时自动发
  20. 2020年了,居然还有人在用asp

热门文章

  1. fseek() 函数用法
  2. Ubuntu软件下载速度慢解决
  3. 十六进制转换成二进制matlab,在matlab中十六进制到二进制和十进制
  4. 计算机网络管理员四级查询入口,计算机网络管理员:国家职业资格四级
  5. 静默安装android,Android静默安装
  6. 工作范围说明书与需求说明书
  7. 如何将word图片粘贴到动易CMS里面
  8. U盘装系统工具哪个好用?
  9. ios睡眠分析 卧床 睡眠_在HealthKit中用 Swift 进行睡眠分析
  10. 挠场的科学丨四、穿梭阴阳的挠场——道家风水、八卦、布阵的解密