java上传到tomcat路径_java 上传图片到Tomcat的webapps目录下

java 上传图片到Tomcat的webapps目录下

`

// 图片上传地址(Linux)

//private String IMAGE_UPLOAD_URL = /usr/local/apache-tomcat-picture/webapps

// 图片上传地址(window)

private String IMAGE_UPLOAD_URL = D:/apache-tomcat-picture/webapps

/** 上传图片到Tomcat的webapps目录下 **/

public String uploadFileInTomcatWebapps(MultipartFile file) throws IllegalStateException, IOException{

if(null != file){

// 获取上传文件的原始名称

String originalFilename = file.getOriginalFilename();

if (null != originalFilename && originalFilename.length() > 0) {

// 生成新的图片名称

String newFileName = genImageName() + originalFilename.substring(originalFilename.lastIndexOf("."));

// 获取Tomcat服务器所在的路径

String tomcat_path = System.getProperty( "user.dir" );

System.out.println("Tomcat服务器所在的路径: "+tomcat_path);

// 获取Tomcat服务器所在路径的最后一个文件目录

String bin_path = tomcat_path.substring(tomcat_path.lastIndexOf("/")+1,tomcat_path.length());

System.out.println("Tomcat服务器所在路径的最后一个文件目录: "+bin_path);

String pic_path = "";

// 判断最后一个文件目录是否为bin目录

if(("bin").equals(bin_path)){

// 获取保存上传图片的文件路径

pic_path = tomcat_path.substring(0,System.getProperty( "user.dir" ).lastIndexOf("/")) +"/webapps"+"/images/";

}else{

pic_path = IMAGE_UPLOAD_URL+"/images/";

}

// 设置文件保存路径(文件存放按日期存放)

String datePath = new DateTime().toString("/yyyy/MM/dd");

File newFileDir = new File(pic_path+datePath);

//如果不存在 则创建

if (!newFileDir.exists()) {

newFileDir.mkdirs();

}

// 将内存中的数据写入磁盘

String savePath = newFileDir +"/" + newFileName;

System.out.println("上传图片的路径:" + savePath);

file.transferTo(new File(savePath));

// 返回路径

String url = "/images"+datePath+"/"+newFileName;

return url;

}

}

return null;

}

/** 图片名生成 **/

public String genImageName() {

//取当前时间的长整形值包含毫秒

long millis = System.currentTimeMillis();

//加上三位随机数

Random random = new Random();

int end3 = random.nextInt(999);

//如果不足三位前面补0

String str = millis + String.format("%03d", end3);

return str;

}

// 上传图片

@RequestMapping(value = "/pictureb", method = { RequestMethod.GET, RequestMethod.POST})

public String uploadPicture(MultipartFile upfile, HttpServletRequest request, HttpServletResponse response) {

if (null != upfile) {

String upfileName = upfile.getOriginalFilename();

upfileName = upfileName.toLowerCase();

if (upfileName.matches("^.*(jpg|png|gif)$")) {

try {

BufferedImage buff = ImageIO.read(upfile.getInputStream());

if (null != buff && 0 != buff.getHeight() && 0 != buff.getWidth()) {

String url = UploadPictureUtil.uploadFileInTomcatWebapps(upfile);

if (StringUtils.isNoneBlank(url)) {

return ReturnResult.objectToJson(ReturnResult.build(200, "上传成功 ",url));

}else{

return ReturnResult.objectToJson(ReturnResult.build(300, "上传失败,请稍后再试"));

}

}else{

return ReturnResult.objectToJson(ReturnResult.build(300, "存在未知风险,无法上传"));

}

} catch (Exception e) {

e.printStackTrace();

return ReturnResult.objectToJson(ReturnResult.build(500, "系统繁忙"));

}

}else{

return ReturnResult.objectToJson(ReturnResult.build(300, "请选择正确格式的图片"));

}

}else{

return ReturnResult.objectToJson(ReturnResult.build(300, "参数异常null"));

}

}

`

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值