最近公司做的项目基本上都是用的前后端分离的架构进行的。在图片上传这块处理是先将图片上传到开发者服务器上,然后返回该图片在服务器上的图片地址存到数据库中。存到数据库的时候存的并不是网络地址,而是图片的相对路径,显示的时候再替换成服务器上的图片。刚开始不明白为何这么存,后来请教了公司的项目经理,项目经理说这样做,分布式部署的时候比较好。
服务端上传图片接口是基于rest形式的,代码如下:
@Path("upload")
@DenyAll
@POST
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response uploadImage(@FormDataParam("imageFile")File fileInputStream,
@FormDataParam("imageFile")FormDataContentDisposition disposition,
@FormDataParam("subDir")String subDir){
try {
Map<String,Object> map = new HashMap<String,Object>();
String imgPath = "";
if(null != fileInputStream){
String fileFileName = disposition.getFileName();
//判断文件类型
String allowType = "gif,jpg,bmp,png,jpeg";
if(!("").equals(fileFileName.trim()) && fileFileName.length()>0)