首页>代码>SpringBoot大文件上传、js、分片上传、断点续传、秒传、大文件上传实例>/断点上传主程序/toolupload/src/main/java/com/dai/controller/UploadDemoController.java
package com.dai.controller; import com.dai.tool.http.Result; import com.dai.tool.upload.local.LocalUpload; import com.dai.tool.upload.local.pojo.UploadFileParam; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.io.File; /** * @program: toolupload * @description: 上传文件、妙传、断点续传样例-demo * @author: Dai Yuanchuan * @create: 2019-10-30 08:24 **/ @RestController @Slf4j @RequestMapping(value = "/uploader") public class UploadDemoController { static { // 修改文件上传的默认路径(如果需要用到的话) LocalUpload.defaultPath = System.getProperty("user.dir") + File.separatorChar + "log" + File.separatorChar + "uploadedFiles"; } @RequestMapping(value = "defaultPathCheckFile", method = RequestMethod.GET) public Result defaultPathCheckFile(String md5, String fileName) { // 使用默认上传路径 验证 秒传、断点 文件 配置 log.info("当前默认的上传路径为:{}", LocalUpload.defaultPath); try { return LocalUpload.checkFileMd5(md5, fileName); } catch (Exception e) { log.error(e.getMessage()); return Result.error("上传失败"); } } @RequestMapping(value = "checkFile", method = RequestMethod.GET) public Result checkFile(String md5, String fileName) { // 自定义 分片配置文件 和 上传的缓存文件 路径 String path = System.getProperty("user.dir") + File.separatorChar + "log" + File.separatorChar; String confFilePath = path + "confFile"; String tmpFilePath = path + "file"; try { return LocalUpload.checkFileMd5(md5, fileName, confFilePath, tmpFilePath); } catch (Exception e) { log.error(e.getMessage()); return Result.error("上传失败"); } } @RequestMapping(value = "demo1", consumes = "multipart/*", headers = "content-type=multipart/form-data", produces = "application/json;charset=UTF-8", method = RequestMethod.POST) @ResponseBody public Result uploadDemo1(UploadFileParam param, HttpServletRequest request) { // 使用自定义 分片、缓存 文件路径 分片上传、断点续传 文件 // 这个 自定义的上传路径 要与 checkFile 方法内的路径一直 // 不然会影响 断点续传 功能 String path = System.getProperty("user.dir") + File.separatorChar + "log" + File.separatorChar; String confFilePath = path + "confFile"; String tmpFilePath = path + "file"; try { // 这里的 chunkSize(分片大小) 要与前端传过来的大小一致 return LocalUpload.fragmentFileUploader(param, confFilePath, tmpFilePath, 5242880L, request); } catch (Exception e) { log.error(e.getMessage()); return Result.error("上传失败"); } } @RequestMapping(value = "demo2", consumes = "multipart/*", headers = "content-type=multipart/form-data", produces = "application/json;charset=UTF-8", method = RequestMethod.POST) @ResponseBody public Result uploadDemo2(UploadFileParam param, HttpServletRequest request) { // 使用默认上传路径上传分片文件 log.info("当前默认的上传路径为:{}", LocalUpload.defaultPath); try { return LocalUpload.fragmentFileUploader(param, 5242880L, request); } catch (Exception e) { log.error(e.getMessage()); return Result.error("上传失败"); } } @RequestMapping(value = "demo3", method = RequestMethod.POST) @ResponseBody public Result uploadDemo3(UploadFileParam param) { // 普通的文件上传程序、不使用分片、断点续传(自定义上传路径) try { return LocalUpload.regularFileUploader(param, LocalUpload.defaultPath); } catch (Exception e) { log.error(e.getMessage()); return Result.error("上传失败"); } } @RequestMapping(value = "demo4", method = RequestMethod.POST) @ResponseBody public Result uploadDemo4(UploadFileParam param, HttpServletRequest request) { // 普通的文件上传程序、不使用分片、断点续传(使用默认的文件上传路径) // 默认路径为 log/uploader /年/月/日/当前时间毫秒数.mp4 try { log.info("当前默认的上传路径为:{}", LocalUpload.defaultPath); return LocalUpload.regularFileUploader(param); } catch (Exception e) { e.printStackTrace(); return Result.error("上传失败"); } } }
最近下载更多
gowangbo1 LV6
6月30日
longtaolee LV11
4月4日
lcqlcl LV11
2023年8月29日
哈哈哈哈123 LV9
2023年8月3日
lironggang LV38
2023年6月12日
go_away15 LV7
2023年3月23日
sy159753 LV1
2022年11月21日
zzyzzyzzy12345 LV3
2022年6月6日
陈小灏 LV15
2022年6月1日
su12345su LV8
2022年5月8日
最近浏览更多
y1214435276 LV9
9月26日
357322742
8月8日
暂无贡献等级
gowangbo1 LV6
6月30日
2775645521 LV7
6月16日
liu1221 LV1
4月20日
longtaolee LV11
4月4日
suibian1021 LV2
1月9日
1277940387
2023年11月6日
暂无贡献等级
hong5225
2023年10月18日
暂无贡献等级
漫步的海星 LV4
2023年9月26日