Host配置域名
hosts文件在C:\Windows\System32\drivers\etc。将image.leyou.com域名添加进去

Nginx
Nginx配置一个单独的图片服务器路由,指定他的物理存储路劲

配置文件:
配置最大上传文件为5MB.

Post方法请求映射,通过@RequestParm接收file文件。在方法中传入MultipartFile类型的file文件,将Service层注入到Controller层。

Service层 对File类型的校验、文件内容的校验。
@Service
public class UploadService {
private static final List<String> CONTENT_TYPES = Arrays.asList("image/gif", "image/jpeg", "image/jpg", "image/png");
private static final Logger LOGGER = LoggerFactory.getLogger(UploadService.class);
public String uploadImage(MultipartFile file) {
//获得上传的文件名
String originalFilename = file.getOriginalFilename();
//校验文件类型
String contentType = file.getContentType();
if (!CONTENT_TYPES.contains(contentType)) {
LOGGER.info("文件类型不合法: {}", originalFilename);
return null;
}
try {
//校验文件内容
BufferedImage bufferedImage = ImageIO.read(file.getInputStream());
if (bufferedImage == null) {
LOGGER.info("文件类型不合法: {}", originalFilename);
return null;
}
//保存到文件的服务器
file.transferTo(new File("D:\\image\\leyou\\" + originalFilename));
//返回url,进行回显
return "http://image.leyou.com/" + originalFilename;
} catch (IOException e) {
LOGGER.info("服务器内部错误:{}", originalFilename);
e.printStackTrace();
}
return null;
}
}
8315

被折叠的 条评论
为什么被折叠?



