一篇关于简单的Java图片上传,以及作为图片服务器的Nginx的配置,只是基础的,其实可以做的更优化,慢慢升级吧。
- Java代码部分(可以优化,储存时使用日期文件夹,图片名称可以更加随机,加入MD5重复判断以及图片格式判断等等)
@RequestMapping(value = "/image", method = {RequestMethod.POST})
public JSONObject uploadImage(@RequestParam("img") MultipartFile img) throws Exception {
Result result = new Result();
result.setSuccess(true);
try {
//如果文件不为空
if (!img.isEmpty()) {
String imgName = System.nanoTime()+ "-" + img.getOriginalFilename();
//开始上传图片
//IMAGE_PATH 是一个服务器的地址常量 例如:D://image/
FileOutputStream outputStream = new FileOutputStream(IMAGE_PATH + imgName);
outputStream.write(img.getBytes());
outputStream.flush();
outputStream.close();
result.addModel("fileName", imgName);
}
} catch (Exception e) {
e.printStackTrace();
}
return ResultHelper.renderAsJsonWipeData(result);
}
- 服务器上Nginx的配置部分,为了实现域名+图片名称访问
server {
listen 80;
server_name www.xxx.com;#你的图片域名
root /xxx/xxx/;#图片在服务器的存储地址
index 1.jpg;#访问域名默认展示图片
location / {
root /xxx/xxx/;
index 1.jpg;
}
}
- 以上就简单完成了图片上传以及域名访问图片展示了。