1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 图片上传功能(EasyUI前台框架+SSM框架)

图片上传功能(EasyUI前台框架+SSM框架)

时间:2023-05-26 04:24:27

相关推荐

图片上传功能(EasyUI前台框架+SSM框架)

文件上传步骤:

* 1.采用文件正确的接收方式(修改3处配置文件/接口类型等)

* 2.判断是否为一个图片,0表示无异常,1代表异常(jpg|gif|png)

* 3.判断是不是一个“正经”的图片,判断是否有宽度和高度

* 4.编辑磁盘目录,D:/jtphoto/images/yyyy/MM/dd/hh/mm

* 5.编辑相对路径,url:/images/yyyy/MM/dd/hh/mm

* 6.保存文件

EasyUI前台请求:

//编辑器参数kingEditorParams : {filePostName : "uploadFile",uploadJson : '/pic/upload',dir : "image"},

Controller:

1 package com.jt.manage.controller; 2 3 import java.awt.image.BufferedImage; 4 import java.io.File; 5 import java.io.IOException; 6 import java.text.SimpleDateFormat; 7 import java.util.Date; 8 9 import javax.imageio.ImageIO;10 11 import org.apache.log4j.Logger;12 import org.springframework.stereotype.Controller;13 import org.springframework.web.bind.annotation.RequestMapping;14 import org.springframework.web.bind.annotation.ResponseBody;15 import org.springframework.web.multipart.MultipartFile;16 17 import mon.vo.PicUploadResult;18 19 @Controller20 public class FileUploadController {2122private static final Logger logger = Logger.getLogger(FileUploadController.class);23/**24* 文件上传步骤25* 1.采用文件正确的接收方式(修改3处配置文件/接口类型等)26* 2.判断是否为一个图片,0表示无异常,1代表异常(jpg|gif|png)27* 3.判断是不是一个“正经”的图片,判断是否有宽度和高度28* 4.编辑磁盘目录,D:/jtphoto/images/yyyy/MM/dd/hh/mm29* 5.编辑相对路径,url:/images/yyyy/MM/dd/hh/mm30* 6.保存文件31* @param uploadFile32* @return33*/3435@RequestMapping("/pic/upload")36@ResponseBody37public PicUploadResult fileUpload(MultipartFile uploadFile){38 39 PicUploadResult picload = new PicUploadResult();40 41 //获取图片名42 String fileName = uploadFile.getOriginalFilename();43 44 //截取图片后缀45 String suff = fileName.substring(fileName.lastIndexOf("."));46 47 //判断是否是图片48 if(!(suff.matches(".(jpg||gif||png)"))){ //不是个图片49 picload.setError(1);50 logger.error("~~~ 您上传的不是个图片");51 return picload;52 }53 54 //判断上传的图片是不是个“正确”的图片55 try {56 BufferedImage bufferedImage = ImageIO.read(uploadFile.getInputStream());57 58 //获取图片的宽高59 int width = bufferedImage.getWidth();60 int height = bufferedImage.getHeight();61 picload.setWidth(width+"");62 picload.setHeight(height+"");63 64 //编辑路径65 String localPath = "D:/jtphoto/images/";66 String urlPath = "/images/";67 String dataPath = new SimpleDateFormat("yyyy/mm/dd/hh/mm").format(new Date());68 69 //拼接路径70 localPath += dataPath+uploadFile.getOriginalFilename();71 urlPath += dataPath+uploadFile.getOriginalFilename();72 73 File file = new File(localPath);74 if(!file.exists()){75 //文件不存在时创建多个文件76 file.mkdirs();77 }78 79 //将图片写入磁盘80 uploadFile.transferTo(file);81 picload.setUrl(urlPath);82 83 return picload;84 85 } catch (IOException e) {86 e.printStackTrace();87 picload.setError(1);88 logger.error("~~~ 您上传不是个正规的图片");89 return picload;90 }91 92 93}9495 }

PicUploadResult 对象:

1 package mon.vo; 2 3 public class PicUploadResult { 4private Integer error=0; //图片上传错误不能抛出,抛出就无法进行jsp页面回调,所以设置这个标识,0表示无异常,1代表异常 5private String url;//浏览器能够解析的具体页面路径。相对路径: http//image.jt/img.jpg 本地路径:存放图片路径 D:/jt-image/.... 6private String width; 7private String height; 8 9public Integer getError() {10 return error;11}12 13public void setError(Integer error) {14 this.error = error;15}16 17public String getUrl() {18 return url;19}20 21public void setUrl(String url) {22 this.url = url;23}24 25public String getWidth() {26 return width;27}28 29public void setWidth(String width) {30 this.width = width;31}32 33public String getHeight() {34 return height;35}36 37public void setHeight(String height) {38 this.height = height;39}404142 43 }

实现效果:

注意: 开始上传后开始并没有回显图片,而是通过Nginx反向代理服务器技术来实现转向,由

/images//07/25/15/26/57

转向到

D:/jtphoto/images//07/25/15/26/574ed257Nebb74cec.jpg

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。