文件上传bug
This commit is contained in:
parent
2f77067c7c
commit
b357eee1b3
|
@ -2,7 +2,6 @@ package com.gisroad.business.controller;
|
|||
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.io.IoUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.gisroad.business.common.base.BaseController;
|
||||
import com.gisroad.business.common.entity.BaseEntity;
|
||||
|
@ -18,14 +17,12 @@ import com.gisroad.sjzyxt.common.models.ResponseModel;
|
|||
import com.gisroad.sjzyxt.service.CommonService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.Cleanup;
|
||||
import lombok.SneakyThrows;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.nio.charset.Charset;
|
||||
|
@ -163,9 +160,7 @@ public class BizFileController extends BaseController<IBizFileService, BizFile>
|
|||
@ApiOperation("上传文件")
|
||||
@PostMapping("/upload")
|
||||
public ResponseModel<BizFile> uploadFile(@RequestParam("file") MultipartFile file, BizFile bizFile) {
|
||||
byte[] bytes = IoUtil.readBytes(file.getInputStream());
|
||||
@Cleanup ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(bytes);
|
||||
boolean zipFilePasswordProtected = JlZipUtil.isZipFilePasswordProtected(byteArrayInputStream);
|
||||
boolean zipFilePasswordProtected = JlZipUtil.isZipFilePasswordProtected(file);
|
||||
if (zipFilePasswordProtected) {
|
||||
return singleUploadFile(file, bizFile);
|
||||
}
|
||||
|
|
|
@ -70,14 +70,6 @@ public class BizFileServiceImpl extends ServiceImpl<BizFileMapper, BizFile> impl
|
|||
return createTmpFile(file,null);
|
||||
}
|
||||
|
||||
@SneakyThrows
|
||||
public static void main(String[] args) {
|
||||
String s = "/Users/zjarlin/Downloads/xg/SJZYXT-SRS 软件需求规格书.zip";
|
||||
// ZipFile zipFile = new ZipFile(s);
|
||||
// boolean encrypted = zipFile.isEncrypted();
|
||||
boolean zipFilePasswordProtected = JlZipUtil.isZipFilePasswordProtected(FileUtil.getInputStream(s));
|
||||
System.out.println(zipFilePasswordProtected);
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Override
|
||||
|
|
|
@ -6,6 +6,7 @@ import cn.hutool.core.io.FileUtil;
|
|||
import cn.hutool.core.io.IoUtil;
|
||||
import cn.hutool.core.util.CharsetUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.core.util.ZipUtil;
|
||||
import com.gisroad.business.util.DownloadUtil;
|
||||
import lombok.Cleanup;
|
||||
|
@ -167,8 +168,12 @@ public class JlZipUtil {
|
|||
* @return 如果文件被密码保护则返回 true,否则返回 false
|
||||
*/
|
||||
@SneakyThrows
|
||||
public static boolean isZipFilePasswordProtected(InputStream inputStream) {
|
||||
byte[] bytes = IoUtil.readBytes(inputStream);
|
||||
public static boolean isZipFilePasswordProtected(MultipartFile file) {
|
||||
String originalFilename = file.getOriginalFilename();
|
||||
if (!StrUtil.containsAny(originalFilename, ".zip")) {
|
||||
return false;
|
||||
}
|
||||
byte[] bytes = IoUtil.readBytes(file.getInputStream());
|
||||
@Cleanup ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(bytes);
|
||||
// 创建临时文件
|
||||
File tempFile = FileUtil.createTempFile("tempfile", ".zip", true);
|
||||
|
|
Loading…
Reference in New Issue