接口上传base64编码图片

 1 package com.*.util;
 2
 3 import java.io.FileInputStream;
 4
 5
 6 import java.io.FileOutputStream;
 7 import java.io.IOException;
 8 import java.io.InputStream;
 9 import java.io.OutputStream;
10 import java.util.Date;
11
12 import Decoder.BASE64Decoder;
13 import Decoder.BASE64Encoder;
14
15 public class Base64ImgUtils {
16     public static void main(String[] args) {
17         String strImg = GetImageStr();
18         System.out.println(strImg);
19         GenerateImage(strImg);
20     }
21
22     /**
23      * 图片转化成base64字符串
24      * GetImageStr
25      * 2016年8月31日下午3:37:40
26      * @param
27      * @return
28      */
29     public static String GetImageStr() {// 将图片文件转化为字节数组字符串,并对其进行Base64编码处理
30         String imgFile = "D:/486e407765c21edd9cbffca69717efb1.jpg";// 待处理的图片
31         InputStream in = null;
32         byte[] data = null;
33         // 读取图片字节数组
34         try {
35             in = new FileInputStream(imgFile);
36             data = new byte[in.available()];
37             in.read(data);
38             in.close();
39         } catch (IOException e) {
40             e.printStackTrace();
41         }
42         // 对字节数组Base64编码
43         BASE64Encoder encoder = new BASE64Encoder();
44         String imghead="data:image/jpg;base64,";//头
45         return imghead+encoder.encode(data);// 返回Base64编码过的字节数组字符串
46     }
47
48     /**
49      * base64字符串转化成图片
50      * GenerateImage
51      * 2016年8月31日下午3:33:12
52      * @param
53      * @return
54      */
55     public static String GenerateImage(String imgStr) { // 对字节数组字符串进行Base64解码并生成图片
56         if (imgStr == null){ // 图像数据为空
57             return "";
58         }
59         String classPath = new Base64ImgUtils().getClass().getResource("").getPath();
60         String path = classPath.substring(0, classPath.indexOf("WEB-INF"));
61         System.out.println(path);
62         BASE64Decoder decoder = new BASE64Decoder();
63         try {
64             String imghead=imgStr.substring(0,imgStr.indexOf(";")).replace("data:image/", ".");//获取图片扩展名
65             imgStr=imgStr.substring(imgStr.indexOf(",")+1);//图片内容
66
67             // Base64解码
68             byte[] b = decoder.decodeBuffer(imgStr);
69             for (int i = 0; i < b.length; ++i) {
70                 if (b[i] < 0) {// 调整异常数据
71                     b[i] += 256;
72                 }
73             }
74             // 生成jpeg图片
75             String filename="upload/"+new Date().getTime()+imghead;//名称
76             String imgFilePath =path+"/"+filename;// 新生成的图片
77             OutputStream out = new FileOutputStream(imgFilePath);
78             out.write(b);
79             out.flush();
80             out.close();
81             return filename;
82         } catch (Exception e) {
83             return "";
84         }
85     }
86
87
88 }
时间: 2024-11-10 07:06:28

接口上传base64编码图片的相关文章

如何使用c#上传base64编码的数据

using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Imaging; using System.IO; using System.Linq; using System.Net; using System.Text; using System.Threading.Tasks; namespace Test { class Program { static void Ma

jquery上传base64位图片

<img id="articleImg" width="180" height="100"> <input type="file" value="上传" id="articleImg 1 $('#articleImgBtn').change(function(){ 2 run(this, function (data) { 3 uploadImage(data); 4 }); 5

上传base64编码文件

1.js进行图片预览 使用input标签来选择图片,使用FileReader读取图片并转成base64编码,然后发送给服务器. <html> <body> <img id="image"src=""/> <br/> <input type="file"onchange="selectImage(this);"/> <br/> <input type=

php上传文件与图片到七牛的实例详解

上传文件到七牛最简单的方式就是使用七牛官方最新的SDK 用composer安装PHP SDK composer require qiniu/php-sdk 上传文件到七牛 use Qiniu\Auth;use Qiniu\Storage\UploadManager; $cfg = [ 'access' => 'YOUR_ACCESS_KEY', 'secret' => 'YOUR_SECRET_KEY', 'bucket' => 'YOUR_BUCKET', 'domain' =>

上传base64图片到七牛云前端遇到的坑

介意前端普通引入七牛云SDk上传图片到七牛云需要多个js,所以才有了base64的上传方式,简化操作,(懒.) 七牛云官方文档如下 https://developer.qiniu.com/kodo/kb/1326/how-to-upload-photos-to-seven-niuyun-base64-code 我们前端理所当然就复制黏贴了..然后问题就来了 看地址 var url = "http://upload.qiniu.com/putb64/20264"; //非华东空间需要根据

Delphi 读取 c# webservice XML的base64编码图片字符串转化图片并显示

Delphi 读取 c# webservice XML的base64编码图片字符串转化图片并显示 在 开发中遇到应用c#及asp.net的在的webservice 保存图片并以xml文件形式现实出来 并用delphi调用 的方法: 1.c#的webservice现实见 http://www.greensoftcode.net/techntxt/20127118441582992373 之前的文章. 2.在客户端用delphi显示 发现asp.net xml形式输出的图片是base64字符串形式.

html5 图片上传,支持图片预览、压缩、及进度显示,兼容IE6+及标准浏览器

原文:html5 图片上传,支持图片预览.压缩.及进度显示,兼容IE6+及标准浏览器 以前写过上传组件,见 打造 html5 文件上传组件,实现进度显示及拖拽上传,兼容IE6+及其它标准浏览器,对付一般的上传没有问题,不过如果是上传图片,且需要预览的话,就力有不逮了,趁着闲暇时间,给上传组件添加了单独的图片上传UI,支持图片预览和缩放(通过调整图片的大小以实现图片压缩). 上传组件特点 轻量级,不依赖任何JS库,核心代码(Q.Uploader.js)仅约700行,min版本加起来不到12KB 纯

dropzonejs中文翻译手册 DropzoneJS是一个提供文件拖拽上传并且提供图片预览的开源类库.

http://wxb.github.io/dropzonejs.com.zh-CN/dropzonezh-CN/ 由于项目需要,完成一个web的图片拖拽上传,也就顺便学习和了解了一下前端的比较新的技术:HTML5的api,作为一名前端的菜鸟,没什么可说的,直接分享自己学习的资料: 关于HTML5 的这些新的特性大家可以到Mozilla的开发者社区MDN https://developer.mozilla.org/zh-CN/ 上查HTML5的资料 还有就是发掘到的比较牛逼的一篇博客:http:/

使用FormData上传文件、图片

关于FormData XMLHttpRequest Level 2添加了一个新的接口  ---- FormData 利用FormData对象,可以通过js用一些键值对来模拟一系列表单控件,可以使用XMLHttpRequest的 send( ) 方法来异步提交表单 与普通的ajax相比,使用FormData的最大优点就是可以异步上传二进制文件 FormData对象 FormData对象,可以把所有表单元素的name与value组成一个queryString,提交到后台. 在使用ajax提交时,使用