此方法将byte类型文件转为文件流保存到本地

byte 经过BASE64Decoder 进行编码之后的类型 所以需要解码 防止出现乱码及文件损毁

  /**
* byte 转文件 下载到本地
* @param fileName
* @param
*/
public String conserveFile(String fileName, String bytes) {
String rootPath = ConversionFactoryUtil.rootPath()+File.separator;
InputStream inputStream = null;
InputStream inputStreams = null; try {
String tempPath = "Files";
String filePath = rootPath+tempPath+File.separator+File.separator+fileName;
// 相对路径
String relativePath =File.separator+ tempPath+File.separator+File.separator+fileName;
inputStream = new ByteArrayInputStream(bytes.getBytes());
// 进行解码
BASE64Decoder base64Decoder = new BASE64Decoder();
byte[] byt = base64Decoder.decodeBuffer(inputStream);
inputStreams = new ByteArrayInputStream(byt);
File folder = new File(rootPath+tempPath+File.separator); // 创建文件夹
if (!folder.exists()){
folder.mkdir();
}
File file = new File(filePath);
if (file.exists()) {
//如果文件存在,则删除文件
file.delete();
}
Files.copy(inputStreams, Paths.get(filePath));
return relativePath;
} catch (IOException e) {
e.printStackTrace();
} finally { if (inputStream != null && inputStreams != null) {
try {
inputStream.close();
inputStreams.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return null;
}

byte转文件流 下载到本地的更多相关文章

  1. go将青龙面板里面的脚本文件都下载到本地

    纯粹练手用的,大家轻喷 青龙面板的脚本文件可以下载到本地,这样的话自己可以研究一下对应的脚本文件,能学到更多的知识,原理其实很简单,F12一下就知道了,青龙面板使用Request Headers里面放 ...

  2. js文件流下载通用方法

    通常我们会用到文件流下载文件,下面给大家一个通用的文件流下载的js /* *下载文件 * options:{ * url:'', //下载地址 * isNewWinOpen:false,是否新窗口打开 ...

  3. Github文件夹下载到本地

    1.如图:需要将以下文件夹下载到本地. https://github.com/aspnet/Docs/tree/master/aspnet/mvc/overview/getting-started/i ...

  4. 安装时后的idea,项目不能运行,pom.xml文件不能下载到本地仓库,maven配置是正确的

    安装时后的idea,项目不能运行,pom.xml文件不能下载到本地仓库,maven配置是正确的 项目上传到svn后,同事下载项目后,没有识别出来mavn中的pom.xml文件,导致idea不能自动下载 ...

  5. js实现使用文件流下载csv文件

    1. 理解Blob对象 在Blob对象出现之前,在javascript中一直没有比较好的方式处理二进制文件,自从有了Blob了,我们就可以使用它操作二进制数据了.现在我们开始来理解下Bolb对象及它的 ...

  6. 文件流下载时 axios blob文件大小不正确?

    文件流下载时 js blob文件大小不正确? res.data的字节长度 length blob.size匹配不上.. axio请求里必须修改 responseType: 'blob' 参数, 默认是 ...

  7. js 前端实现文件流下载的几种方式

    后端是用Java写的一个下载的接口,返回的是文件流,需求:点击,请求,下载 利用iframe实现文件流下载 //把上一次创建的iframe删掉,不然随着下载次数的增多页面上会一堆的iframe var ...

  8. 通过阿里OSS文件服务返回的URL获取文件流下载

    我们都知道将文件上传到阿里的OSS文件服务上后,可以通过generatePresignedUrl(bucketName, key, expiration)方法获取该文件的防问路径,但是当我们知道该文件 ...

  9. ASP.NET 实现Base64文件流下载PDF

    因为业务需要调用接口获取的是 Base64文件流 需要提供给客户下载PDF文档 源码部分借鉴网上,具体地址忘记了. //Base64文件流 byte[] buffer = Convert.FromBa ...

随机推荐

  1. go_接口

    duck typeing 隐式的实现接口的方法就等于实现了接口 main函数 package main import ( "fmt" "learngo/retriever ...

  2. flume 配置说明

    Flume中的HDFS Sink应该是非常常用的,其中的配置参数也比较多,在这里记录备忘一下. channel type hdfs path 写入hdfs的路径,需要包含文件系统标识,比如:hdfs: ...

  3. mybatis调用自定义函数

    <select id="getFunction" parameterType="int" resultType="string"> ...

  4. Chrome 强制刷新缓存的方法

    https://jingyan.baidu.com/article/11c17a2c2a9e27f446e39d98.html

  5. guestfish修改镜像内容

    1.安装guestfish yum install libguestfs-tools 注意,如果要修改windows镜像需要安装 yum install libguestfs-winsupport 2 ...

  6. BZOJ 1001 狼抓兔子 (最小割转化成最短路)

    1001: [BeiJing2006]狼抓兔子 Time Limit: 15 Sec  Memory Limit: 162 MBSubmit: 27715  Solved: 7134[Submit][ ...

  7. LightOJ 1428 Melody Comparison (KMP + 后缀数组)

    题意:给定两个串A,B,问你A有多少不同的子串,并且不包含B. 析:首先A有多少个不同的子串,可以用后缀数组来解决,也就是 n - sa[i] - h[i] + 1.但是要是不包含B,可以先预处理A和 ...

  8. UVa 10603 Fill (暴力BFS+优先队列)

    题意:给定4个数,a,b,c,d,分别代表空杯子容积为a,b,一个盛满水的杯子容积为c,让你不断倒水,找一个dd,是不是存在某个时刻, 某个杯子里的水dd,和d相同,或者无限接近.让求最少的倒水量和d ...

  9. javadoc tags

    Where Tags Can Be Used The following sections describe where the tags can be used. Note that these t ...

  10. 何时使用[self release]

    这样的语句   [self release]; 乍看上去让人很困惑. 从release方法本身的作用上来说,就是给self的引用技术减一,就像release对其他对象所做的一样. 一般来说,唯一用到, ...