linus上运行jar包文件增删查
package com.osplat.util;
import com.alibaba.fastjson.JSON;
import com.osplat.bean.Resultmodel;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;
import javax.imageio.ImageIO;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Map;
/**
* @Company:wftdlx
* @Author: wjf
* @Description:
* @Date: Created in 15:48 2019/2/19
*/
/**yml文件中
web:
#uploadPath: E:\\files\\
uploadPath: /home/numa/image/
*/
@Component
public class LinusFile {
//public static String imageUrl="/home/numa/image/";//linus路径
//public static String imageUrl="E:\\files\\";//window路径
public static String imageUrl;
@Value("${web.uploadPath}")
public void setImageUrl(String uploadPath) {
imageUrl = uploadPath;
}
//直接上传
public static Resultmodel upFile(MultipartFile file) {
Log.info("开始文件上传");
if (file.isEmpty()) {
String msg = "上传文件不能为空";
Log.info(msg);
return new Resultmodel(0, "上传失败");
}
String fileName = file.getOriginalFilename();
Log.info("文件名=" + fileName);
//加个时间戳,尽量避免文件名称重复
long l = System.currentTimeMillis();
fileName = l + "_" + fileName;
Log.info("保存的文件名为=" + fileName);
// 获得的系统的根目录
File fileParent = new File(File.separator);
// 获得/usr/CBeann目录
File PathBefore = new File(fileParent, imageUrl + fileName);
//创建文件路径
File dest = PathBefore;
//上传文件
try {
file.transferTo(dest); //保存文件;
} catch (Exception e) {
Log.error("异常:" + "上传失败异常" + e.getMessage());
return new Resultmodel(-1, "上传失败异常");
}
return new Resultmodel(0, "上传成功", fileName);
}
//查询图片
public static Resultmodel show(HttpServletResponse response, String data) {
//String page,String pageSize,String finishKey
//开始
Log.info("======开始:图片查看");
Log.info("入参data:" + data);
//数据转换
Map maps = (Map) JSON.parse(data);//import com.alibaba.fastjson.JSON;
String imgUrl = maps.get("imgUrl").toString();
//String photoName = "0d34f75a26334f6f836512b52d09053ce37eb12612f628c1c3d37fd8fffdff28.jpg";
response.setDateHeader("Expires", 0);
response.setHeader("Cache-Control", "no-store, no-cache, must-revalidate");
response.addHeader("Cache-Control", "post-check=0, pre-check=0");
response.setHeader("Pragma", "no-cache");
response.setContentType("image/jpeg");
// 获得的系统的根目录
File fileParent = new File(File.separator);
// 获得/usr/CBeann目录
File file = new File(fileParent, imageUrl + imgUrl);
try {
BufferedImage bi = ImageIO.read(new FileInputStream(file));
ServletOutputStream out = response.getOutputStream();
ImageIO.write(bi, "jpg", out);
try {
out.flush();
} finally {
out.close();
}
} catch (IOException e) {
e.printStackTrace();
Log.error("查看图片异常" + e.getMessage());
return new Resultmodel(Resultmodel.ERROR, "查看图片异常");
}
return null;
}
//删除图片
public static Resultmodel delete(HttpServletResponse response, String data) {
//开始
Log.info("======开始:图片删除");
Log.info("入参data:" + data);
//数据转换
Map maps = (Map) JSON.parse(data);//import com.alibaba.fastjson.JSON;
String imgUrl = maps.get("imgUrl").toString();
Log.info("转换后数imgUrl:" + imgUrl);
// 获得的系统的根目录
File fileParent = new File(File.separator);
// 获得/usr/CBeann目录
File file = new File(fileParent, imageUrl + imgUrl);
Log.info("转换后数file:" + file.toString());
//删除文件
boolean delete = false;
try {
delete = file.delete();//保存文件;
Log.info("转换后数delete:" + delete);
if (delete) {
return new Resultmodel(0, "图片删除成功");
}
return new Resultmodel(-1, "图片删除失败");
} catch (Exception e) {
Log.error("异常:" + "上传失败异常" + e.getMessage());
return new Resultmodel(-1, "上传失败异常");
}
}
}
配置文件yml
# 取消模板文件缓存
thymeleaf:
cache: false
enabled: false
servlet:
multipart:
max-file-size: 128KB
max-request-size: 128KB
enabled: false
配置路径yml:
web: #uploadPath: E:\\files\\ uploadPath: /home/numa/image/
@Configuration注解文件下添加
//文件上传
@Bean
public MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
// 单个文件最大
factory.setMaxFileSize("201400KB"); // KB, MB
// 设置上传数据总大小
factory.setMaxRequestSize("2014000KB");
return factory.createMultipartConfig();
}
linus上运行jar包文件增删查的更多相关文章
- 在服务器上运行Jar包
在服务器上运行Jar包 并且该Jar包依赖其他的Jar文件的时候,采用如下格式 java -Djava.ext.dirs=你依赖的Jar文件路径 -jar 你要运行的Jar文件 包名+类名 例如: j ...
- 在Linux服务器上运行jar包,并且使jar包一直处于后台执行
1.我jar包在linux的目录为/a/bbb.jar 正常情况下,使用在/a目录下使用 java -jar bbb.jar 可以直接运行该jar包的项目,运行成功之后使用crtl+ ...
- 如何打包/运行jar包,及生成exe文件
关于如何打包/运行jar包,以及生成exe文件.之前各种查询.博客,终于搞明白究竟是咋回事.记得还做过笔记的.今天要打包生成exe用的时候,居然忘了咋怎来着.去查看之前的笔记,死活没找到(好像被删掉了 ...
- Linus运行jar包的操作
cd / 返回最顶层文件夹cd home/numa 进入home下的numa文件夹ll 查看当前文加夹下的所有文件ps -ef | grep java ...
- 在linux云服务器上运行Jar文件
在linux服务器上运行Jar文件时通常的方法是: $ java -jar test.jar 这种方式特点是ssh窗口关闭时,程序中止运行.或者是运行时没法切出去执行其他任务,有没有办法让Jar在后台 ...
- Java Web文件上传原理分析(不借助开源fileupload上传jar包)
Java Web文件上传原理分析(不借助开源fileupload上传jar包) 博客分类: Java Web 最近在面试IBM时,面试官突然问到:如果让你自己实现一个文件上传,你的代码要如何写,不 ...
- hadoop_MapReduce_idea上打jar包,在虚拟机上运行
打包前的介绍和准备工作 指定主类可以在运行jar包的时候不用输入要运行哪一个类,直接就可以运行了 指定主类 编辑jar 的信息 修改jar包的名称 build Complete!!! MapReduc ...
- 不显示cmd窗口运行jar包
今天,打开导出的jar包,发现并不能运行,查看jar包中的META-INF文件夹下的MANIFEST.MF文件,发现MANIFEST.MF中并没有Main-Class,于是,就手动添加相应的信息,本项 ...
- IDEA2017版本打可运行jar包并运行
一.打JAR包 JAR:From modules with dependencies 将依赖一起打包 一般依赖放在与xx.jar同级的libs文件夹中 敲黑板,下图第一个框是输出jar包的位置,第二 ...
随机推荐
- mysql外键的三种关系
因为有foreign key的约束,使得两张表形成了三种了关系: 多对一 多对多 一对一 一对多或多对一 create table press( id int primary key auto_inc ...
- 初步认识Angulajs
Angulajs是一个MVC前段框架,项目中使用Angulajs必须按照框架的写法编写代码,可以统一代码规范易于后期代码的维护. M Model 模型-数据,V View 视图-表现层 HTML/C ...
- CopyOnWriteList-JDK1.8
CopyOnWrite,一个写时复制的技术来保证并发操作的安全,使用这种技术的前提是读大于写. 读读之间相容, 写写之间互斥, 读写操作相容. 实现方法: 在对底层数据进行写的时候,把底层数据复制一份 ...
- 《算法》第四章部分程序 part 10
▶ 书中第四章部分程序,包括在加上自己补充的代码,包括无向图连通分量,Kosaraju - Sharir 算法.Tarjan 算法.Gabow 算法计算有向图的强连通分量 ● 无向图连通分量 pack ...
- iOS重写和成员变量访问权限
一.重写机制 1.覆盖父类的方法 2.对父类方法做进一步的补充 注意:父类声明过得方法,子类无需声明. * 子类如果重写了父类的方法: 1.父类的指针指向子类的对象,则调用方法时,调用的是子类的方法: ...
- Flex自定义组件、皮肤,并调用
标签:Flex 自定义组件 自定义皮肤 主应用调用模块 本程序样例学习自flex 实战教程.但因原教程代码不全,且根据个人需求有更改. 1文件列表 自定义as类Reveal.as,该类实现组件的 ...
- elasticsearch相关
- 机器学习进阶-图像梯度运算-Sobel算子 1. cv2.Sobel(使用Sobel算子进行计算) 2. cv2.convertScalerAbs(将像素点进行绝对值的计算)
1.cv2.Sobel(src, ddepth, dx, dy, ksize) 进行sobel算子计算 参数说明:src表示当前图片,ddepth表示图片深度,这里使用cv2.CV_64F使得结果可 ...
- php中显示数组与对象的实现代码
1. 使用 print_r ( $array/$var ) print 是打印的意思,而r则取自Array的单词,那么该函数的功能就是打印数组内容,它既可以打印数组内容,也可以打印普通的变量. pri ...
- Django-wed开发框架-练习题
https://www.cnblogs.com/pandaboy1123/p/9894981.html 1.列举Http请求常见的请求方式 HTTP协议是Hyper Text Transfer Pro ...