public abstract class FileController
extends com.centit.framework.core.controller.BaseController
| 限定符和类型 | 字段和说明 |
|---|---|
protected FileStore |
fileStore |
protected org.slf4j.Logger |
logger |
protected String |
oldServer |
| 构造器和说明 |
|---|
FileController() |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
checkFileExists(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
判断文件是否存在,如果文件已经存在可以实现秒传
|
com.alibaba.fastjson.JSONObject |
checkFileRange(javax.servlet.http.HttpServletRequest request)
获取文件 断点位置,前端根据断点位置续传
|
void |
downloadUnprotectedFile(String md5SizeExt,
String fileName,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
根据文件的 MD5码 下载不受保护的文件,不需要访问文件记录
如果是通过 store 上传的需要指定 extName 扩展名
|
protected org.apache.commons.lang3.tuple.Pair<String,InputStream> |
fetchInputStreamFromRequest(javax.servlet.http.HttpServletRequest request)
这个方法可能需要根据环境重载;
|
protected abstract void |
fileUploadCompleteOpt(String fileMd5,
long size,
com.alibaba.fastjson.JSONObject retJson)
文件上传后的处理工作,如果需要对文件处理或者返回特定的数据给前段可以在这个方法中做
|
void |
secondPass(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
完成秒传,如果文件不存在会返回失败
|
void |
uploadFile(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
上传整个文件适用于IE8
|
void |
uploadRange(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
续传文件(range) 如果文件已经传输完成 对文件进行保存
|
protected org.slf4j.Logger logger
@Autowired protected FileStore fileStore
@Value(value="${fileserver.oldserver:http://172.26.19.138:8181/fileserver}")
protected String oldServer
protected abstract void fileUploadCompleteOpt(String fileMd5, long size, com.alibaba.fastjson.JSONObject retJson)
fileMd5 - 文件的md5 和 size可以确定文件的位置size - 文件大小retJson - 返回前段的json对象,可以在这个方法中修改protected org.apache.commons.lang3.tuple.Pair<String,InputStream> fetchInputStreamFromRequest(javax.servlet.http.HttpServletRequest request) throws IOException
request - 客户端请求IOException - io 异常@CrossOrigin(origins="*",
allowCredentials="true",
maxAge=86400L,
allowedHeaders="*",
methods=GET)
@RequestMapping(value="/exists",
method=GET)
public void checkFileExists(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
request - token, size 大小response - HttpServletResponse@CrossOrigin(origins="*",
allowCredentials="true",
maxAge=86400L,
methods=GET)
@RequestMapping(value="/range",
method=GET)
@WrapUpResponseBody
public com.alibaba.fastjson.JSONObject checkFileRange(javax.servlet.http.HttpServletRequest request)
request - HttpServletRequest : token, size 大小@CrossOrigin(origins="*",
allowCredentials="true",
maxAge=86400L,
methods=POST)
@RequestMapping(value="/secondpass",
method=POST)
public void secondPass(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
throws IOException
request - HttpServletRequest token, sizeresponse - HttpServletResponseIOException - IOException@CrossOrigin(origins="*",
allowCredentials="true",
maxAge=86400L,
methods=POST)
@RequestMapping(value="/range",
method=POST)
public void uploadRange(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
throws IOException
request - HttpServletRequest: token, sizeresponse - HttpServletResponseIOException - IOException@CrossOrigin(origins="*",
allowCredentials="true",
maxAge=86400L,
methods=POST)
@RequestMapping(value="/upload",
method=POST)
public void uploadFile(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
throws IOException
request - HttpServletRequestresponse - HttpServletResponseIOException - IOException@RequestMapping(value="/download/{md5SizeExt}",
method=GET)
public void downloadUnprotectedFile(@PathVariable(value="md5SizeExt")
String md5SizeExt,
String fileName,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
throws IOException
md5SizeExt - 文件的Md5码和文件的大小 格式为 MD5_SIZE.EXTfileName - 文件的名称包括扩展名,如果这个不为空, 上面的 md5SizeExt 可以没有 .Ext 扩展名request - HttpServletRequestresponse - HttpServletResponseIOException - IOExceptionCopyright © 2022 Centit Information Technical, co. Inc.. All rights reserved.