采用file.Transto 来保存上传的文件,代码简单,速度快.

package com.springbootemaildemo.controller;import com.springbootemaildemo.entity.ResponseEntity;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;import java.io.File;
import java.io.IOException;
import java.util.Date;@RestController
@RequestMapping("/file")
@Api("文件操作")
public class FileController {private static final Logger logger = LoggerFactory.getLogger(FileController.class);@ApiOperation("文件上传")@PostMapping("/upload")public ResponseEntity uploadFile(@RequestParam("file") MultipartFile file) {long startTime = System.currentTimeMillis();String path = "";String originalFilename = file.getOriginalFilename();logger.info("fileName:" + originalFilename);int lastIndexOf = originalFilename.lastIndexOf(".");String fileType = originalFilename.substring(lastIndexOf + 1);//文件类型判断 doc,docx,jpg,png,xlslogger.info("截取文件名类型:{}", fileType);if (fileType.equals("jpg") || fileType.equals("png") || fileType.equals("dox") || fileType.equals("docx") || fileType.equals("xls")) {path = "D:/filesss/" + new Date().getTime() + originalFilename;File newFile = new File(path);//通过CommonsMultipartFile的方法直接写文件(注意这个时候)try {file.transferTo(newFile);long endTime = System.currentTimeMillis();logger.info("采用file.Transto的运行时间:" + String.valueOf(endTime - startTime) + "ms");} catch (IOException e) {e.printStackTrace();}} else {return new ResponseEntity("500", "不允许该" + fileType + "文件类型上传", "fail");}return new ResponseEntity("200", path, "success");}
}

Java很简单的文件上传(transferTo方式)相关推荐

  1. 使用jspsmartupload完成简单的文件上传系统

    请不要妄想,一个html的file控件,再加上JavaScript与jQuery语句就可以完成文件上传, 文件上传系统从来是需要配合服务器来完成的 用户把自己的文件上传到服务器上 文件上传系统是很复杂 ...

  2. java web 文件上传工具类_JavaWeb中实现文件上传的方式有哪些?

    上回我们说了下文件下载的方式有哪些,这次我们从不同的环境下简单来说说文件上传的方式有哪些. 文件上传的方式Servlet2.5 方式 Servlet3.0 方式 SpringMVC 方式 案例实操 S ...

  3. java mime上传_JavaWeb中实现文件上传的方式有哪些?

    上回我们说了下文件下载的方式有哪些,这次我们从不同的环境下简单来说说文件上传的方式有哪些. 文件上传的方式Servlet2.5 方式 Servlet3.0 方式 SpringMVC 方式 案例实操 S ...

  4. springMVC获取异步请求的参数,返回异步请求数据(json),跨域访问简单了解,文件上传,与Restful风格

    springMVC获取异步请求的参数 JQuery发送异步请求回顾 <a href="javascript:void(0);" id="testAjax" ...

  5. 项目Tips---使用阿里的OOS实现简单的文件上传

    简介 在还没有工作时,我们做项目时一般使用的Tomcat服务器作为文件上传和下载的存储点.可是作为上线项目这是行不通,所以为了解决海量数据存储与弹性扩容,阿里云给我们提供了一个OOS的对象存储平台. ...

  6. 树莓派3B+采用花生棒进行内网穿透,从拆箱到实现SSH远程控制与sftp简单远程文件上传下载

    树莓派3B+采用花生棒进行内网穿透,使用sftp实现远程控制与简单远程文件上传下载) 准备步骤 物理环境搭建 关于基础配置的博文推荐 树莓派联网配置 基础联网 配置静态ip 花生壳内网穿透 常用远程端 ...

  7. java利用dropzone多文件上传

    DropzoneJS是一个提供文件拖拽上传并且提供图片预览的开源类库, 它是轻量级的,不依赖任何其他类库(如JQuery)并且高度可定制.文档官网https://www.dropzonejs.com/ ...

  8. 简述php中文件上传过程,简单php文件上传详细说明

    关于文件上传我们讲了很多,这只是一款最基本的简单的文件上传功能,同时本教程也介绍了关于上传的原理以及各种函数的使用与file的参数说明,以及php.ihi设置上传文件大小配置等. 1  如果实现小文件 ...

  9. 利用Socketserver实现简单的文件上传

    利用Socketserver实现简单的文件上传 server.py #!/usr/bin/env python #coding:utf-8 import SocketServer import os ...

最新文章

  1. 微软大神“玩”出新花样,求平均值代码还能这样写?
  2. python 保存模型、加载模型 Joblib
  3. c语言栈解决迷宫问题,栈处理迷宫问题
  4. 全国计算机二级office基础知识,全国计算机二级office考试内容
  5. [Discuz插件] HUX虚拟社区 3.0.9绿色版(huxcity)+打工模块
  6. StarUML建模软件
  7. 利用VMware Infrastructure SDK编程控制虚拟机集群(2)
  8. rrdtool安装编译提示错误:Can’t locate ExtUtils/MakeMaker.pm in @INC
  9. mysql热备 binlog日志切割_查看MySQL还原出来的binlog日志中内容方法
  10. Google Chrome浏览器模拟设置不同分辨率
  11. fastlane实现Android自动化打包
  12. 2017普实软件迎新年会报道
  13. 华为服务器修改root密码,华为云服务器root权限设置密码
  14. pg_repack使用
  15. 惠州环境监测实验室建设面积要求
  16. Viola-Jones检测器(VJ)---学习笔记
  17. 基础数论讲解(详细)
  18. 05. 路由协议原理
  19. yylabel html富文本,YYLabel 自动布局 富文本文字点击事件
  20. ios有什么ssr_飞猪营销域SSR总结 - 双十一会场再加速

热门文章

  1. [转载]Linux内核大讲堂 (一) 设备驱动的基石驱动模型(1)
  2. 偷偷爆料下各公司年终奖!(最新版)
  3. happypack 原理解析
  4. uni-app微信小程序跳转外部H5链接
  5. kswapd0内存过高排查经历
  6. 2月20日 星期一 杨祎祾
  7. Ameya360:常见贴片电容封装尺寸及容量
  8. 什么是农业信息化系统
  9. .Net Core NOPI操作word(一)
  10. freemark与flying saucer生成PDF