文档章节

java对图片接收的实现

n
 nandecanghai123
发布于 2017/09/05 14:36
字数 335
阅读 5
收藏 0

本篇图片接收是一Base64码的方式接收,接收后转换图片并保存。图片上传见上一篇博客-android最简单的图片上传。
具体实现步骤如下:
1、java以Base64码的方式接收图片转换后的字符串。

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

2、转换字符串为图片并保存到指定路径

TypeConverter.GenerateImage(img,imgName);

转换并存储的代码如下TypeConverter.java

public class TypeConverter {
        //图片转化成base64字符串
        public static String GetImageStr(String path)
        {//将图片文件转化为字节数组字符串,并对其进行Base64编码处理
            String imgFile = path;//待处理的图片
            InputStream in = null;
            byte[] data = null;
            //读取图片字节数组
            try
            {
                in = new FileInputStream(imgFile);
                data = new byte[in.available()];
                in.read(data);
                in.close();
            }
            catch (IOException e)
            {
                e.printStackTrace();
            }
            //对字节数组Base64编码
            BASE64Encoder encoder = new BASE64Encoder();
            return encoder.encode(data);//返回Base64编码过的字节数组字符串
        }
        //base64字符串转化成图片
        public static boolean GenerateImage(String imgStr)
        {   //对字节数组字符串进行Base64解码并生成图片
            if (imgStr == null) //图像数据为空
                return false;
            BASE64Decoder decoder = new BASE64Decoder();
            try
            {
                //Base64解码
                byte[] b = decoder.decodeBuffer(imgStr);
                for(int i=0;i<b.length;++i)
                {
                    if(b[i]<0)
                    {//调整异常数据
                        b[i]+=256;
                    }
                }
                //生成jpeg图片
                String imgFilePath = "C:\\inetpub\\wwwroot\\school_mart";//新生成的图片
                OutputStream out = new FileOutputStream(imgFilePath);
                out.write(b);
                out.flush();
                out.close();
                return true;
            }
            catch (Exception e)
            {
                return false;
            }
        }
}

本文转载自:http://blog.csdn.net/u010184245/article/details/52807476

n
粉丝 0
博文 47
码字总数 0
作品 0
烟台
私信 提问
如何将页面变成图片保存在手机中?

场景:手机微信扫二维码进入主页,填写数据提交后,跳转页面接收后台数据进行对应展示,接着长按屏幕后对该页面进行图片保存。 困扰1.只有对着图片长按屏幕才会弹出保存到手机的功能,但我这...

Tomdwannn
2018/01/26
192
1
C#picturebox控件图片以json格式上传java后台保存

关于winform上传图片到Java后端,保存到数据库,有多种方法,本文主要介绍利用picturebox控件,点击按钮上传图片,将图片转化为base64格式,以json格式上传到Java后台,再从java端解析,保存到...

土狼一族
07/11
0
0
从分析async-profiler的实现细节来学习jvmti

作者: 一字马胡 转载标志 【2017-12-22】 更新日志 厉害的内容分享 在上一篇文章中分享了一个用于分析java应用性能的厉害角色:async-profiler,具体的内容可以参考Java应用性能分析工具:a...

疼丸李白
2017/12/22
0
0
JDK源码阅读:ByteBuffer

原文出处:木杉的博客 Buffer是Java NIO中对于缓冲区的封装。在Java BIO中,所有的读写API,都是直接使用byte数组作为缓冲区的,简单直接。但是在Java NIO中,缓冲区这一概念变得复杂,可能是...

木杉的博客
2018/08/10
0
0
grpc实战——构建一个简单的名称解析服务

环境说明: 语言主要用java实现,ide使用的是idea,使用maven作为软件项目管理工具。 说明:本项目源码已发布,点击grpc名称服务可以看到本项目的源码。欢迎大家fork实践体验。 本篇主要是对...

程序员Sunny
2018/05/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Experts say the weaker pound is drawing investors to the UK tech sector

UK tech companies secured a record £5.5bn in foreign investment in the first seven months of this year, research shows. This was more than the amount invested per capita in th......

wowloop
11分钟前
3
0
Add support for Android 9-patch images in BorderImage

The 9-patch image implementation in Qt Quick Controls 1 is an internal implementation detail of the Android style. It cannot handle .9.png image files out of the box, but takes ......

shzwork
16分钟前
4
0
c/c++日期时间处理函数小结

日期时间处理函数: 日期时间转为字符串 strftime/std::put_time 字符串解析成日期时间 strptime/std::get_time 时间结构转换:time_t->tm localtime:time_t->tm 时间结构转换:tm->time_t ...

chuqq
20分钟前
4
0
Apache Flink 进阶入门(二):Time 深度解析

前言 Flink 的 API 大体上可以划分为三个层次:处于最底层的 ProcessFunction、中间一层的 DataStream API 和最上层的 SQL/Table API,这三层中的每一层都非常依赖于时间属性。时间属性是流处...

大涛学长
21分钟前
3
0
创龙基于Xilinx Artix-7系列FPGA处理器

SOM-TLA7是一款由广州创龙基于Xilinx Artix-7系列FPGA自主研发的核心板,可配套广州创龙Artix-7开发板使用。核心板尺寸仅70mm*50mm,采用沉金无铅工艺的10层板设计,专业的PCB Layout保证信号...

Tronlong创龙
27分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部