Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
87f030c
🧀🧀🧀依赖和plugin
prayjourney Oct 9, 2020
2e8c82e
🧉🧉🧉配置redis和servlet,控制上传文件的信息
prayjourney Oct 9, 2020
e10ff56
🏀🏀🏀修改启动类
prayjourney Oct 9, 2020
ba9b2bf
🎗🎗🎗测试信息
prayjourney Oct 9, 2020
74856f9
🎣🎣🎣注释
prayjourney Oct 9, 2020
f1b580f
🎏🎏🎏修改书写错误
prayjourney Oct 10, 2020
87e9817
🎏🎏🎏调整
prayjourney Oct 10, 2020
41e82ba
🎏🎏🎏调整
prayjourney Oct 10, 2020
069138a
⛸⛸⛸注释与格式化
prayjourney Oct 10, 2020
91f951a
⛸⛸⛸注释与格式化
prayjourney Oct 10, 2020
935ed42
⚾⚾⚾修改整理和调整文档
prayjourney Oct 10, 2020
45b9f86
⚾⚾⚾修改整理和调整文档
prayjourney Oct 10, 2020
866a8b6
⚾⚾⚾调整文档
prayjourney Oct 10, 2020
f4721ad
⚾⚾⚾调整文档
prayjourney Oct 10, 2020
22b549f
⚾⚾⚾block是上传文件的封装,block.file是上传的文件
prayjourney Oct 10, 2020
3bbe466
此处进行了分片?📻📻📻
prayjourney Oct 10, 2020
6b8ad87
🎑🎑🎑开启
prayjourney Oct 11, 2020
5e67d12
✈✈✈修改说明文档
prayjourney Oct 13, 2020
b799fd8
🎀🎀🎀删除jsp
prayjourney Jan 29, 2021
4d4635c
🎁🎁🎁修改配置和依赖于打包方式
prayjourney Jan 29, 2021
c8272ee
🎆🎆🎆删除test
prayjourney Jan 29, 2021
1b33305
🎆🎆🎆修改类名
prayjourney Jan 29, 2021
26f706a
🎆🎆🎆配置
prayjourney Jan 29, 2021
e715a01
🎍🎍🎍首页相关的修改
prayjourney Jan 29, 2021
20900b6
🎢🎢🎢存储服务和工具
prayjourney Jan 29, 2021
959108f
🧧🧧🧧添加依赖
prayjourney Jan 29, 2021
8d7a373
😑😑😑操作结果包装
prayjourney Jan 29, 2021
b0eee6d
😑😑😑分片上传包装
prayjourney Jan 29, 2021
473c5b1
😥😥😥修改
prayjourney Jan 29, 2021
9b5452d
😑😑😑修改为maven项目
prayjourney Jan 29, 2021
0efd54d
😁😁😁样式的美化和修改
prayjourney Jan 29, 2021
a57787d
😁😁😁前端功能优化
prayjourney Jan 29, 2021
1d72f13
😶😶😶更新说明
prayjourney Jan 29, 2021
3fe9c1c
🍖🍖🍖更新文档
prayjourney Jan 29, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 23 additions & 24 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,32 +1,31 @@
*.class

# Package Files #
*.jar
*.war
*.ear

# Build Artifacts

.gradle/
build/
HELP.md
target/
bin/
dependency-reduced-pom.xml

# Eclipse Project Files
.mvn

### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings/

# IntelliJ IDEA Files
.settings
.springBeans
.sts4-cache

### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
*.iws
*.idea

README.html
gradlew
gradlew.bat
gradle
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/

### VS Code ###
.vscode/
211 changes: 102 additions & 109 deletions README.md

Large diffs are not rendered by default.

47 changes: 0 additions & 47 deletions build.gradle

This file was deleted.

104 changes: 104 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.7.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.zgy.learn</groupId>
<artifactId>Breakpoint-http</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>Breakpoint-http</name>
<description>Demo project for Spring Boot</description>

<properties>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.5</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.2</version>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
</exclude>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>

</project>
2 changes: 0 additions & 2 deletions settings.gradle

This file was deleted.

13 changes: 13 additions & 0 deletions src/main/java/com/zgy/learn/BreakPointHttpApplication.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package com.zgy.learn;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class BreakPointHttpApplication {

public static void main(String[] args) {
SpringApplication.run(BreakPointHttpApplication.class, args);
}

}
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
package win.pangniu.learn.controller;
package com.zgy.learn.controller;

import com.zgy.learn.param.MultipartFileParam;
import com.zgy.learn.service.StorageService;
import com.zgy.learn.utils.Constants;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.io.FileUtils;
import org.slf4j.Logger;
Expand All @@ -11,23 +14,15 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import win.pangniu.learn.param.MultipartFileParam;
import win.pangniu.learn.service.StorageService;
import win.pangniu.learn.utils.Constants;
import win.pangniu.learn.vo.ResultStatus;
import win.pangniu.learn.vo.ResultVo;
import com.zgy.learn.vo.ResultStatus;
import com.zgy.learn.vo.ResultVo;

import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException;
import java.util.LinkedList;
import java.util.List;

/**
* 默认控制层
* Created by wenwen on 2017/4/11.
* version 1.0
*/
@Controller
@RequestMapping(value = "/index")
public class IndexController {
Expand All @@ -41,13 +36,16 @@ public class IndexController {
private StorageService storageService;

/**
* 秒传判断断点判断
* 秒传判断, 断点判断
*
* @param md5
* @return
* @throws IOException
*/
@RequestMapping(value = "checkFileMd5", method = RequestMethod.POST)
@ResponseBody
public Object checkFileMd5(String md5) throws IOException {
// 从redis之中获取MD5信息
Object processingObj = stringRedisTemplate.opsForHash().get(Constants.FILE_UPLOAD_STATUS, md5);
if (processingObj == null) {
return new ResultVo(ResultStatus.NO_HAVE);
Expand Down Expand Up @@ -83,20 +81,18 @@ public Object checkFileMd5(String md5) throws IOException {
public ResponseEntity fileUpload(MultipartFileParam param, HttpServletRequest request) {
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if (isMultipart) {
logger.info("上传文件start");
logger.info("上传文件start!");
try {
// 方法1
//storageService.uploadFileRandomAccessFile(param);
// 方法2 这个更快点
// storageService.uploadFileRandomAccessFile(param);
storageService.uploadFileByMappedByteBuffer(param);
} catch (IOException e) {
e.printStackTrace();
logger.error("文件上传失败{}", param.toString());
logger.error("文件上传失败, {}", param.toString());
}
logger.info("上传文件end");
logger.info("上传文件end!");
}
return ResponseEntity.ok().body("上传成功");
return ResponseEntity.ok().body("上传成功!");
}


}
38 changes: 38 additions & 0 deletions src/main/java/com/zgy/learn/param/MultipartFileParam.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package com.zgy.learn.param;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;
import org.springframework.web.multipart.MultipartFile;

/**
* 分片上传包装
*/
@Getter
@Setter
@ToString
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class MultipartFileParam {
// 用户id
private String uid;
// 任务ID
private String id;
// 总分片数量
private int chunks;
// 当前为第几块分片
private int chunk;
// 当前分片大小
private long size = 0L;
// 文件名
private String name;
// 分片对象
private MultipartFile file;
// MD5值
private String md5;

}
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
package win.pangniu.learn.service;
package com.zgy.learn.service;

import win.pangniu.learn.param.MultipartFileParam;
import com.zgy.learn.param.MultipartFileParam;

import java.io.IOException;

/**
* 存储操作的service
* Created by 超文 on 2017/5/2.
*/
public interface StorageService {

Expand Down
Loading