Springboot - 파일 업로드(백엔드)
3625 단어 ThymeleafSpringBoot
//
#file.uploadFolder=/root/uploadFiles/
//
file.uploadFolder=d://uploadFiles/
//
spring.servlet.multipart.max-file-size=50Mb
spring.servlet.multipart.max-request-size=50Mb
Controller:
/**
* Controller
* Controller
* @Author MengMeng
* @Date 2018/10/25
* @version: 0.1
* @since JDK 1.80_144
*/
@Controller
@RequestMapping("/file")
public class FileController {
@Autowired
private HttpServletRequest request;
@Autowired
private FileService fileService;
@Value("${file.uploadFolder}")
private String uploadFolder;
//
@RequestMapping(value="/upload/{id}", method = RequestMethod.POST)
@ResponseBody
public Map uploadImg(@RequestParam("file") MultipartFile file,HttpServletRequest request,@PathVariable String id) {
Map resultMap = new LinkedHashMap();
String contentType = file.getContentType();
//
String oldName = file.getOriginalFilename();
//System.out.println(oldName);
// , jpeg,png
String suffixName = oldName.substring(oldName.lastIndexOf("."));
//System.out.println(" :" + suffixName);
//
SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd-HHmmss");
String time = df.format(new Date());
String[] Name = oldName.split("\\.");
String fileName = time + "-" + Name[0] + suffixName;
//System.out.println(fileName);
//
String filePath = uploadFolder;
FileSource filesource = new FileSource();
filesource.setFilename(fileName);
fileService.save(filesource,filePath,fileName);
try {
FileUtil.uploadFile(file.getBytes(), filePath, fileName);
//System.out.println(" !");
resultMap.put("status", 200);
resultMap.put("message", " !");
} catch (Exception e) {
// TODO: handle exception
resultMap.put("status", 500);
resultMap.put("message", " !");
}
// json
return resultMap;
}
}
FileServiceImpl:
@Service
public class FileServiceImpl implements FileService {
@Autowired
private FileRepository fileRepository;
/**
*
*
* @author MengMeng
* @param filesource
* @param filesource
* @param fileName
* @Date Created date: 2018/10/25
* @return void
*/
@Override
public void save(FileSource filesource, String filePath, String fileName) {
// TODO Auto-generated method stub
String path = filePath + fileName;
filesource.setPath(path);
filesource.setId(UUIDUtils.getUUID32());
filesource.setStatus(1);
filesource.setUpdatetime(new Date());
fileRepository.save(filesource);
}
}
FileUtil:
/**
* spring bean
* @author MengMeng
* Created date: 2018/10/10
* @version: 0.1
* @since JDK 1.80_144
*/
public class FileUtil {
public static void uploadFile(byte[] file, String filePath, String fileName) throws Exception {
File targetFile = new File(filePath);
if(!targetFile.exists()){
targetFile.mkdirs();
}
FileOutputStream out = new FileOutputStream(filePath+fileName);
out.write(file);
out.flush();
out.close();
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Thymeleaf에서 th:if와 th:insert를 조합하여 사용할 때의 주의여러 번 같은 실패를 해 버리므로 계명을 겸하여 기사에 남겨두기로 한다. 실패 사례 예를 들어, 가격이 존재하는 경우에만 특정 HTML을 삽입하려는 경우, 그만 다음과 같은 기술을 해 버린다. productList....
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.