package com.gps808.inspect.controller;
import com.framework.web.annotation.NotLogin;
import com.framework.web.dto.AjaxResult;
import com.gps808.inspect.vo.InspectFileVo;
import com.gps808.report.action.base.StandardReportBaseAction;
import org.apache.commons.lang3.StringUtils;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
/**
* @description:
* @author: wwy
* @time: 2022/8/26 13:47
*/
@NotLogin
@RestController
@RequestMapping("/inspect_file")
public class InspectFileUploadController extends StandardReportBaseAction {
private static final long serialVersionUID = -4988160694076411531L;
/**
* 上传文件
*/
@PostMapping("/upload")
@ResponseBody
public AjaxResult upload(MultipartFile uploadFile) throws Exception {
String folderName = getRequestStringEx("folderName");
if (StringUtils.isBlank(folderName)) {
folderName = "software";
}
String realPath = this.getRequest().getSession().getServletContext().getRealPath("upload/") + folderName;
//2.判断该目录是否存在
File file = new File(realPath);
if(!file.exists()){
file.mkdirs();
}
//文件名称
String fileName = System.nanoTime() + "_" + uploadFile.getOriginalFilename();
File target = new File(realPath + "/" + fileName);
//把myfile转移到目标目录下
uploadFile.transferTo(target);
InspectFileVo fileVo = new InspectFileVo();
fileVo.setFilePath("/upload/" + folderName + "/" + fileName);
List<String> jpgArray = new ArrayList<>();
jpgArray.add("tiff");
jpgArray.add("pjp");
jpgArray.add("pjpeg");
jpgArray.add("jfif");
jpgArray.add("webp");
jpgArray.add("tif");
jpgArray.add("bmp");
jpgArray.add("png");
jpgArray.add("jpeg");
jpgArray.add("jpg");
jpgArray.add("gif");
jpgArray.add("ico");
jpgArray.add("xbm");
jpgArray.add("dib");
if (jpgArray.contains(this.getsuffixEx(fileName))) {
fileVo.setFileType(1);
} else {
fileVo.setFileType(2);
}
return AjaxResult.getSuccess(null, fileVo);
}
/**
* 获取后缀名
*
* @return
*/
private String getsuffixEx(String fileName) {
String[] strArray = fileName.split("\\.");
int suffixIndex = strArray.length - 1;
return strArray[suffixIndex].toLowerCase();
}
@Override
protected boolean checkPrivi() {
return true;
}
}