图片上传至本地

1.配置文件

bootstrap.yml
file:path:httpResURL: http://122.246.1.148:19086SAVE_PATH: /data/imagesresURI: /wzq/

2.文件工具类


import cn.hutool.core.io.FileUtil;
import com.vinsuan.park.platform.biz.FilePathConfig;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.multipart.MultipartFile;import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;@Slf4j
@AllArgsConstructor
public class FileUtils {public static String upload(MultipartFile file, String pkno, String type, String plateNo) {LocalDateTime localDateTime = LocalDateTime.now();String yyyyMMdd = localDateTime.format(DateTimeFormatter.ofPattern("yyyyMMdd"));String HHmmss = localDateTime.format(DateTimeFormatter.ofPattern("HHmmss"));//文件名绑定后缀  pkno_type_plateNo_20191011_143600(车场-进出-车牌-年月日-时分秒)String md5File = pkno + "_" + type + "_" + plateNo + "_" + yyyyMMdd + "_" + HHmmss + ".jpg";File path = new File(FilePathConfig.savePath + FilePathConfig.resUri);if (!path.exists()) {path.mkdirs();}File localFile = new File(FilePathConfig.savePath + FilePathConfig.resUri, md5File);if (!FileUtil.exist(localFile)) {//创建一个新文件File attachFile = FileUtil.touch(FilePathConfig.savePath + FilePathConfig.resUri, md5File);//将文件流写入文件中try {FileUtil.writeFromStream(file.getInputStream(), attachFile);} catch (IOException e) {e.printStackTrace();}}return FilePathConfig.httpResUrl + FilePathConfig.resUri + md5File;}/*** 保存文件(此案例中未使用)*/public static File saveFileFromInputStream(InputStream stream, String path, String filename, byte[] buff)throws IOException {File file = new File(path);if (!file.exists()) {log.info("++++++++++++++创建文件++++++++++++++++++++++++++++:" + path);file.mkdirs();}FileOutputStream fs = new FileOutputStream(path + filename);byte[] buffer = new byte[1024 * 1024];int byteread = 0;if (null == buff || buff.length <= 0) {while ((byteread = stream.read(buffer)) != -1) {fs.write(buffer, 0, byteread);}} else {fs.write(buff);}fs.flush();fs.close();if (null != stream) {stream.close();}return file;}//    public static void main(String[] args) {
//        String imageStr = Base64Utils.GetImageStr("D:\\Pictures\\yy.jpg");
//        MultipartFile file = Base64ToMultipartFile.base64ToMultipart(imageStr);
//        String upload = FileUtils.upload(file, "cc8888", "1", "浙B88888");
//        System.out.println(upload);
//    }
}

3.图片转图片BASE64值
4.图片BASE64转MultipartFile
注意:
1.图片存储路径为当前项目盘\data\images\wzq
2.此文件工具栏返回的图片是路径是:http://122.246.1.148:19999/wzq/20191022114711.jpg,不是:http://122.246.1.148:19999/data/images/20191022114711.jpg,是因为访问路径有做映射。wzq->data/images

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/273686.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

html调用静态json例子

html调用静态json例子 1.json {"current": 2,"result": "success" } 1.html <!doctype html> <html> <head> <meta charset"utf-8"> <title></title> <script src"http://code.jquery.co…

Extjs发票管理系统

技术特点&#xff1a;Extjs框架&#xff0c;三层架构&#xff0c;Ajax,json 1.仿office2007菜单.介面美观大方,可动态更改皮肤保存至cookie。 2,json数据源与实体类的相互转换. 3.可下载桌面版登录方式,统计在线人数. 4, chm操作手册,方便操作人员熟悉. 功能描述&#xff1a; 1…

jQuery调用WebService返回JSON数据

相信大家都比较了解JSON格式的数据对于ajax的方便&#xff0c;不了解的可以从网上找一下这方面的资料来看一下&#xff0c;这里就不多说了&#xff0c;不清楚的可以在网上查一下&#xff0c;这里只说一下因为参数设置不当引起的取不到返回值的问题。 在用jQuery调用WebService的…

Docker---问题1:bash: vi: command not found/bash: vim: command not found

在使用docker时&#xff0c;有时候我们需要编辑配置文件&#xff0c;需要使用vim或者vi命令&#xff0c;发现&#xff1a; root64801a03b121:/etc/nginx/conf.d# vi default.conf bash: vi: command not found root64801a03b121:/etc/nginx/conf.d# vim default.conf bash: …

C# 获取配置文件节点值

<?xml version"1.0" encoding"utf-8" ?><configuration> <appSettings> <add key"ManagerName" value"XXX" /> </appSettings> <connectionStrings> <add name"DataBase"…

WHENEVER SQLERROR EXIT SQL.SQLCODE

1.SQL>WHENEVER SQLERROR EXIT SQL.SQLCODE出现错误后终止SQL*Plus运行。2.SQL>WHENEVER SQLERROR SQL.SQLCODE EXIT ROLLBACK 除了之前的含义&#xff0c;还包括让SQL*Plus在推出之前把所有还没提交的变化回滚处理。转载于:https://www.cnblogs.com/nuaa/p/3828473.html…

IDEA 快捷键终极大全

一、自动代码 常用的有fori/sout/psvmTab即可生成循环、System.out、main方法等boilerplate样板代码 。 例如要输入for(User user : users)只需输入user.forTab &#xff1b; 再比如&#xff0c;要输入Date birthday user.getBirthday()只需输入user.getBirthday().varTab即…

数组中只出现一次的数字

题目&#xff1a;一个整型数组里&#xff0c;除了两个数字以外&#xff0c;其他数字都出现了两次&#xff0c;请写程序找到这两个只出现一次的数字。要求&#xff1a;时间复杂度为O(n),空间复杂度为O(1). 分析&#xff1a;看到这题&#xff0c;首先要明白&#xff0c;这是求两个…

iOS工作笔记之NSClassFromString

id myObj [[NSClassFromString("MySpecialClass") alloc] init]; 和 id myObj [[MySpecialClass alloc] init]; 是一样的。但是&#xff0c;如果你的程序中并不存在MySpecialClass这个类&#xff0c;下面的写法会出错&#xff0c;而上面的写法只是返回一个空对象而…

Maven 使用bat批量清除本地仓库的lastUpdated文件

echo off set REPOSITORY_PATHC:\Users\Administrator\.m2\repository rem 正在搜索... for /f "delims" %%i in (dir /b /s "%REPOSITORY_PATH%\*lastUpdated*") do ( del /s /q %%i ) rem 搜索完毕 pause 新建一个文件txt文件&#xff0c;把.txt后缀…

“ddl”有一个无效 SelectedValue,因为它不在项目列表中。

“ddl_ekt”有一个无效 SelectedValue,因为它不在项目列表中。 怎么回事 现象&#xff1a; 在用户控件的page_load事件里绑定下拉框&#xff0c;报上面错误 解决&#xff1a; 将下拉框绑定&#xff0c;放在page_Init事件里 这可能跟服务器加载控件的生命过程有关系转载于:https…

springbot 注入多实例

方式一&#xff1a; 在需要多实例的类上加入注解&#xff1a; Scope("prototype") 方式二&#xff1a; 在启动类上加入&#xff1a; BeanScope(value ConfigurableBeanFactory.SCOPE_PROTOTYPE, proxyMode ScopedProxyMode.TARGET_CLASS)public PrototypeClass…

javascript日历插件

javascript日历插件 原文:javascript日历插件javascript日历插件 最近在尝试着写javascript日历插件&#xff0c;所以也到github上看国外人日历源码&#xff0c;或者国内人写的好点的&#xff0c;也在研究点&#xff0c;虽然看到网上有一大把的日历控件&#xff0c;但是没有几个…

idea 重启

1、通过File–>Invalidate Caches/Restar...进入重启窗口 2、选择自己所需要的重启方式&#xff0c;四个按钮&#xff0c;一共三种重启方式&#xff1a; Invalidate and Restart 清空缓存并重启。Invalidate 清除缓存&#xff0c;下次打开重启。Cancel 取消。Just Restart …

Kernel Page Global Directory (PGD) of Page table of Process created in Linux Kernel

Kernel Page Global Directory (PGD) of User process created 在早期版本: 在fork一个进程的时候&#xff0c;必须建立进程自己的内核页目录项&#xff08;内核页目录项要与用户空间的页目录放在同一个物理地址连续的页面上&#xff0c;所以不能共享&#xff0c;但所有进程的内…

POI 导出文件以文件流形式返回

POI工具类 import java.io.UnsupportedEncodingException; import javax.servlet.http.HttpServletResponse; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFRow; import o…

Json串和java对象进行转时

json-lib-xxx.jarezmorph-xxx.jar //>依赖包 JsonConfig config new JsonConfig();//有选择性的过滤掉一些属性值 JSONUtils.getMorpherRegistry().registerMorpher( new DateMorpher(new String[] { "yyyy-MM-dd" }));//注册一个json转为java.util.date的日期格…

Mybatis Integer类型参数值为0时判断为空、空字符串不通过

根据状态查询是&#xff0c;由于status是Integer类型&#xff0c;所以当前状态为0时&#xff0c;变成了查询了所有的状态信息。 <if test"requestParam.status ! null and requestParam.status ! ">and s.status #{requestParam.status} </if> 原因&a…

BZOJ 3391: [Usaco2004 Dec]Tree Cutting网络破坏(搜索)

这道直接遍历一遍求出每个点的子节点数目就行了 CODE&#xff1a;#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>using namespace std;#define maxn 50010int b[maxn],q[maxn],id[maxn],ans[maxn];bool cmp(int x,int y){re…

Fast Matrix Operations

uva11992:http://uva.onlinejudge.org/index.php?optioncom_onlinejudge&Itemid8&pageshow_problem&problem3143 题意&#xff1a;给你n*m的矩阵初始化的时候矩阵里面的元素全部是0&#xff0c;对于这个矩阵有3中操作。 1 x1 y1 x2 y2 v 把&#xff08;x1 y1 x2…