首页 > 作文

Base64与File之间的相互转化方式

更新时间:2023-04-04 23:16:52 阅读: 评论:0

目录
ba64与file的相互转化问题需要注意将ba64转为文件并保存

ba64与file的相互转化

问题

最近遇到一个上传文件的问题,前端使用了另一种传值,就是ba64字符串传给后台 ,一开始没有对其进行解码操作,存入数据库时就超长了,今天这里提供一种ba乐视供应商讨债64和file之间相互转化的工具类,以便日后参考

/**     *     * @param path     * @return string     * @description 将文件转ba64字符串     * @date 2018年3月20日     * @autho望天树r changyl     * file转成编码成ba64     */     public static  string filetoba64(string path) {        string ba64 = null;        inputstream in = null;        try {            file file = new file(path);            in = new fileinputstream(file);            byte[] bytes=new byte[(int)file.length()];            in.read(bytes);            ba64 = ba64.getencoder().encodetostring(bytes);        } catch (exception e) {            e.printstacktrace();        } finally {            if (in != null) {                try {                    in.clo();                } catch (ioexception e) {                    e.printstacktrace();                }      养老并轨      }        }        return ba64;    }
//ba64解码成file文件    public static void ba64tofile(string destpath,string ba64, string filename) {        file file = null;        //创建文件目录        string filepath=destpath;        file  dir=new file(filepath);        if (!dir.exists() && !dir.isdirectory()) {            dir.mkdirs();        }        bufferedoutputstream bos = null;        java.io.fileoutputstream fos = null;        try {            byte[] bytes = ba64.getdecoder().decode(ba64);            file=new file(filepath+"/"+filename);            fos = new java.io.fileoutputstream(file);            bos = new bufferedoutputstream(fos);            bos.write(bytes);        } catch (exception e) {            e.printstacktrace();        } finally {            if (bos != null) {                try {                    bos.clo();                } catch (ioexception e) {                    e.printstacktrace();                }            }            if (fos != null) {                try {                    fos.clo();                } catch (ioexception e) {                    e.printstacktrace();                }            }        }    }

需要注意

标红的ba64在这里需要去掉

bastr = bastr.replace("data:image/jpeg;ba64,", "");//ba64解密部分乱码问题(“+” 号,在urlecode编码中会被解码成空格)

将ba64转为文件并保存

public static void ba64tofile(string ba64, string filename, string savepath) {        file file = null;        //创建文件目录        string filepath = s直销模式avepath;        file dir = new file(filepath);        if (!dir.exists() && !dir.isdirectory()) {                dir.mkdirs();        }        bufferedoutputstream bos = null;        java.io.fileoutputstream fos = null;        try {            byte[] bytes = ba64.getdecoder().decode(ba64);            file=new file(filepath + filename);            fos = new java.io.fileoutputstream(file);            bos = new bufferedout煽风点火putstream(fos);            bos.write(bytes);        } catch (exception e) {            e.printstacktrace();        } finally {            if (bos != null) {                try {                    bos.clo();                } catch (ioexception e) {                    e.printstacktrace();                }            }            if (fos != null) {                try {                    fos.clo();                } catch (ioexception e) {                    e.printstacktrace();                }            }        }}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持www.887551.com。

本文发布于:2023-04-04 23:16:50,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/b1593db51b8d9bcf22cd51f8c4f4e090.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:Base64与File之间的相互转化方式.doc

本文 PDF 下载地址:Base64与File之间的相互转化方式.pdf

标签:文件   目录   字符串   需要注意
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图