js 后台返回文件流如何转base64

2025-09-30 06:36:23

1、因为项目需要图片需要加密Base64,但是前端JS无法读取JS,所以需要在后台修改成普通的文件流。代码如下

js 后台返回文件流如何转base64

2、public void startDownFTP1(HttpServletRequest request,

HttpServletResponse response) throws Exception {

FtpConfig list = null;

flag1 = false;

list = ftpConfigServiceI.findObjectByPK(null);

FtpConfigController.connectFtp(list);

String efilename = request.getParameter("efilename");

//2017年3月10日10:19:37 sfb

String imagepath = request.getParameter("imagepath");

String img = FtpConfigController.downloadFile1(list,

efilename, imagepath);// 下载ftp文件测试 ftp /图片名称/文件夹 已通过解密但是有Base64加密

Base64 endcoder=new Base64();

byte [] images;//返回图像

images=endcoder.decodeBase64(img);//Base64转换成byte数组

response.reset();

response.getOutputStream().write(images);

flag1 = true;

FtpConfigController.closeFtp();

}

js 后台返回文件流如何转base64

3、例子说明一切先写单元测试吧:单元测试的代码如下:package test.com.cs;import com.cs.Base64Convert;import junit.framework.TestCase;import java.io.FileNotFoundException;import java.io.IOException;import java.util.logging.Logger;public class TestBase64Convert extends TestCase {    Base64Convert baseCov = null;    public TestBase64Convert(String s) {        super(s);    }    protected void setUp() throws Exception {        baseCov = new Base64Convert();    }    protected void tearDown() throws Exception {        super.tearDown();    }    public void testIoToBase64() {        try {           String strBase64 = baseCov.ioToBase64(); //将 io 转换为 base64编码            System.out.println(">>> "+strBase64);             baseCov.base64ToIo(strBase64); //将 base64编码转换为 io 文件流,生成一幅新图片        } catch (FileNotFoundException e) {            e.printStackTrace();         } catch (IOException e) {            e.printStackTrace();         }    }}------------------------------------

js 后台返回文件流如何转base64

4、package com.cs;import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder;import java.io.*;public class Base64Convert {    BASE64Decoder decoder = new BASE64Decoder();    public String ioToBase64() throws IOException {        String fileName = "d:/gril.gif"; //源文件        String strBase64 = null;        try {            InputStream in = new FileInputStream(fileName);            // in.available()返回文件的字节长度            byte[] bytes = new byte[in.available()];            // 将文件中的内容读入到数组中            in.read(bytes);            strBase64 = new BASE64Encoder().encode(bytes);      //将字节流数组转换为字符串            in.close();        } catch (FileNotFoundException fe) {            fe.printStackTrace();        } catch (IOException ioe) {            ioe.printStackTrace();        }        return strBase64;    }    public void base64ToIo(String strBase64) throws IOException {        String string = strBase64;        String fileName = "d:/gril2.gif"; //生成的新文件        try {            // 解码,然后将字节转换为文件            byte[] bytes = new BASE64Decoder().decodeBuffer(string);   //将字符串转换为byte数组            ByteArrayInputStream in = new ByteArrayInputStream(bytes);            byte[] buffer = new byte[1024];            FileOutputStream out = new FileOutputStream(fileName);            int bytesum = 0;            int byteread = 0;            while ((byteread = in.read(buffer)) != -1) {                bytesum += byteread;                out.write(buffer, 0, byteread); //文件写操作            }        } catch (IOException ioe) {            ioe.printStackTrace();        }    }}

js 后台返回文件流如何转base64

5、执行截图:gril2.gif就是根据base64编码转换过来的,看到这个美女总裁,就说明你的程序成功了

js 后台返回文件流如何转base64

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢