用到了base64转图片文件的函数,记录一下

import java.io.*;
import sun.misc.*;

    //对图片文件进行Base64编码
    public String getImagebase64(String imgFileName) {
        byte[] data = null;
        try {
            InputStream in = new FileInputStream(imgFileName);
            data = new byte[in.available()];
            in.read(data);
            in.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        
        BASE64Encoder encoder = new BASE64Encoder();
        return encoder.encode(data);
    }

    //Base64解码并保存图片文件
    public void saveImage(String base64, String imgFileName) {
        BASE64Decoder decoder = new BASE64Decoder();
        try {
            byte[] bytes = decoder.decodeBuffer(base64);
            for (int i = 0; i < bytes.length; ++i) {
                if (bytes[i] < 0) {
                    bytes[i] += 256;
                }
            }
            OutputStream out = new FileOutputStream(imgFileName);
            out.write(bytes);
            out.flush();
            out.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

具体来说是因为这个原因:前端使用某个richEditor控件,当粘贴图片时会自动以base64数据的格式存放,考虑到直接存进数据库一来会有性能问题,二来会有字段长度问题,所以先把这些base64数据提取出来,保存成文件,再用文件路径替换img src=""中的内容,即可达到目的。

时间: 2024-08-03 14:43:48

用到了base64转图片文件的函数,记录一下的相关文章

mui开发app之js将base64转图片文件

之前我已经做过一个利用cropper裁剪并且制作头像的功能.如何在mui app中实现相册或相机获取图片后裁剪做头像请看另一篇博客:mui开发app之cropper裁剪后上传头像的实现 但是当时裁剪后图片是保存为base64格式的,这是h5 canvas建议使用的图片传输方式. 很多时候很多api,比如mui中第三方插件map中有一个setIcon传入的必须是本地的图片文件地址,目前的第三方地图系统任然不支持base64的标注图,所以折腾了一晚之后终于在native.js中找到了将base64转

谁能帮我解码图片,数组里面四张图片!希望使用BASE64对图片文件数据进行解码操作

{"images":[{"imageData":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4 JS5ESUM8SDc9Pjv/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O

task9图片文件处理函数代码

<?php /* upload($_FILES['pic']); 调用upload()函数 upload($file,$path=null,$type=array('image/png','image/jpeg','image/jpg','image/gif')){}; 定义upload函数 $file; 是一个数组变量 $file = array(5) { ["name"]=> string(8) "icon.png" ["type"

Base64把图片、文件转码成字符串(互转)

文件Base64以后会翻倍的涨,例如一张52kb的图片 base64以后string文件大小为185kb,在通过string转回图片为135kb 图片转文字: UIImage *_originImage = [UIImage imageNamed:@"0.jpg"]; NSData *_data = UIImageJPEGRepresentation(_originImage, 1.0f); NSString *_encodedImageStr = [_data base64Encod

java利用Base64编码和解码图片文件

1.编码与解码代码如下所示: import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import javax.image

php如何将base64数据流文件转换为图片文件?

2017-03-07 在开发中,自己遇到一个前端在上传图片的时候,使用的base64数据流文件显示的图片. 也就是说 <img src="data:image/jpg;base64," /> ***image/后面的jpg是我们的图片文件格式,(base64,)后面的很大一长串就是具体的文件信息. data:image/jpg;base64则是指的文件头.我们可以把src里面的全部内容放在浏览器的地址栏进 行访问,是可以正常显示图片文件的. 我将src的值获取到后台之后,在

将input type=&quot;file&quot; 类型的图片文件转成base64

带有图片的form表单上传数据是很麻烦的,因为图片通常都是和文字分开上传,这是很麻烦的,所有吧图片转成base64就可以和当成文字上传了.话不多少,看代码: 首先定义一个类型为file的input标签还要定义一个onchange事件,并传入一个event参数. <div> <input type="file" id="imgTest" type="file" onchange="imgChange(event)&quo

js如何将选中图片文件转换成Base64字符串?

如何将input type="file"选中的文件转换成Base64的字符串呢? 1.首先了解一下为什么要把图片文件转换成Base64的字符串 在常规的web开发过程中,大部分上传文件都是在web页面端通过表单直接提交,再由服务器端捕获请求来进行处理的.但是在前后端分离趋于一种流行趋势,再加上Android和iOS开发技术日渐成熟, 大部分团队都会选择在服务器端仅提供一套通用的webservice数据接口,而web页面.Android和iOS统一都通过这套数据接口来向服务器发送请求和获

js 将图片文件转换成base64

1.情景展示 在JavaScript中,如何使用图片文件转换成base64? 2.解决方案 /** * 网络图像文件转Base64 * @param img dom对象 */ function getBase64Image(img) { var canvas = document.createElement("canvas"); canvas.width = img.width; canvas.height = img.height; var ctx = canvas.getConte