`
zhouxingfu520
  • 浏览: 422369 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

http 使用BASE64发送图片

    博客分类:
  • java
阅读更多

服务器端 方法内代码

String fileName = request.getParameter("fileName");
String str = request.getParameter("file");
log.info(fileName+"------------");
log.info(str+"-==================");             
BASE64Decoder decoder = new BASE64Decoder();
	        try {
	            // Base64解码
	            byte[] bytes = decoder.decodeBuffer(str);
	            for (int i = 0; i < bytes.length; ++i) {
	                if (bytes[i] < 0) {// 调整异常数据
	                    bytes[i] += 256;
	                }
	            }
	            // 生成图片
	            OutputStream outs = new FileOutputStream(filepath+fileName);
	            outs.write(bytes);
	            outs.flush();
	            outs.close();
    		    return null;
	        } catch (Exception e) {
                     logger.error("", e);
	        }

 

客户调用端

public static String getPicBASE64() {
		String picPath = "/var/xxxx.png";
		String content = "";
		try {
			FileInputStream fileForInput = new FileInputStream(picPath);
			byte[] bytes = new byte[fileForInput.available()];
			if(bytes.length<102400){
				System.out.print(bytes.length);
			}
			fileForInput.read(bytes);
		content = new sun.misc.BASE64Encoder().encode(bytes); // 具体的编码方法
			fileForInput.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return content;
	}

	public static void main(String[] args) throws Exception {


		URL url = new URL("http://**********:80/newdemo/app/imageUpload.do");
		HttpURLConnection connection = (HttpURLConnection) url.openConnection();
		connection.setDoOutput(true);
		connection.setDoInput(true);
		// Post 请求不能使用缓存
		connection.setUseCaches(false);
// URLConnection.setFollowRedirects是static函数,作用于所有的URLConnection对象。
		// connection.setFollowRedirects(true);
		// URLConnection.setInstanceFollowRedirects是成员函数,仅作用于当前函数
		connection.setInstanceFollowRedirects(false);
		// 配置本次连接的Content-type,配置为application/x-www-form-urlencoded的
// 正文是urlencoded编码过的form参数,下面我们可以看到我们对正文内容使用URLEncoder.encode
		// 进行编码
		connection.setRequestProperty("Content-Type",
				"application/x-www-form-urlencoded");
		// 连接,从postUrl.openConnection()至此的配置必须要在connect之前完成,
		// 要注意的是connection.getOutputStream会隐含的进行connect。
		connection.connect();
		Long sendTime = System.currentTimeMillis();
		DataOutputStream out = new DataOutputStream(
				connection.getOutputStream());
		// 要传的参数
		String content ="fileName=ssh2.jpg";
		// 得到图片的base64编码
		content = content + "&" + URLEncoder.encode("file", "UTF-8") + "="+ URLEncoder.encode(getPicBASE64(), "UTF-8");
		out.writeBytes(content);
		out.flush();
		out.close(); 
			}

		
	}

 

 

分享到:
评论

相关推荐

    labview 图片缩放 base64编码base64解码

    在实际应用中,这些技术可能结合在一起,比如,你可能需要先缩放图片,然后进行Base64编码,以便将其嵌入到HTML页面或通过邮件发送。反之,接收到Base64编码的图片后,可以先解码,再进行显示或进一步的处理。 为了...

    通过base64上传图片到服务器并读取图片

    在图片上传的场景中,Base64编码可以将图片文件转换为字符串形式,然后通过HTTP请求发送到服务器。 1. **Base64编码图片** 在客户端(通常是浏览器或移动应用),首先需要读取图片文件,并将其转化为Base64字符串...

    Thymeleaf显示base64字符串为图片.docx

    这段后台代码中,我们首先获取到图片的字节数组`imgbyte`,然后使用`BASE64Encoder`将其转换为Base64字符串`str64`。`ModelAndView`对象用于在前后端之间传递数据,我们设置了视图名称为`showimg`,并添加了一个名为...

    将图片进行Base64编码后传输

    在这个场景中,我们首先需要将图片文件读取为字节流,然后使用Base64编码算法进行转换。在Python中,可以使用`base64`库实现这个过程: ```python import base64 with open('image.jpg', 'rb') as image_file: ...

    前端图片压缩base64后台还原图片

    这段代码展示了如何使用FileReader API读取用户选择的图片,将其转换为DataURL,然后调用压缩函数(未在此处显示,需自行实现或引用外部库),并将压缩后的base64字符串发送到后台。 总结: 前端图片压缩base64是...

    Base64文件图片编码解码双向转换解析预览工具

    Base64是一种在互联网上广泛使用的编码方式,用于将二进制数据转化为可打印的ASCII字符串形式。在处理图片、文件或任何包含非ASCII字符的数据时,Base64编码非常有用,因为它允许这些数据在电子邮件、HTML或JSON等...

    cocos2d-x 3.X 接收图片 base64 转码显示

    你需要创建一个请求,设置URL(包含Base64编码的图片),然后发送请求获取响应。 4. **数据解析**:收到Base64编码的图片数据后,需要使用Base64解码库进行解码。cocos2d-x本身不内置Base64解码功能,但你可以使用...

    IOS-图片编码-Base64-例子

    3. **在网络上传输**: 将得到的Base64字符串通过HTTP请求发送到服务器。 在接收端,我们同样需要进行Base64解码。这里以服务器返回的Base64字符串为例: 1. **创建NSData对象**: 从Base64字符串创建`NSData`对象。...

    Base64+JSON实现图片下载

    在图片下载场景中,JSON通常被用作载体,将Base64编码后的图片数据封装成一个JSON对象,以HTTP请求的形式发送给客户端。 Java实现Base64+JSON的图片下载过程大致分为以下几个步骤: 1. **服务器端处理**: - 首先...

    C#图片灰度处理+base64处理

    在实际应用中,这种处理方式常见于前端开发,例如在发送图片数据到服务器时,可以先将图片转换为Base64字符串,然后通过HTTP请求发送,简化了文件上传的复杂性。此外,也可以在客户端对图片进行预处理,减少服务器的...

    图片流转存Base64编码然后转图片 Spring 框下的

    本篇将详细讲解如何在Spring框架下,将图片流转存为Base64编码,并从Base64编码还原回图片。 首先,我们需要理解什么是图片流和Base64编码。图片流是指图片数据的一种序列化形式,它可以是字节流或字符流,通常用于...

    Base64 and Base32Hex Encoding Using LabVIEW_labview_base32编码互转_b

    Base64和Base32Hex是两种常见的数据编码方式,主要用在将二进制数据转换为可打印的字符格式,以便在网络传输、文本存储等场景下使用。LabVIEW,全称Laboratory Virtual Instrument Engineering Workbench,是一款由...

    Base64.zip_Base64_labview_base64 labview_labview_labview 加密_加密

    在LabVIEW(Laboratory Virtual Instrument Engineering Workbench)这个图形化编程环境中,Base64的使用主要涉及到数据的加密和解密过程。 LabVIEW是美国国家仪器公司(NI)开发的一种图形化编程语言,它以图标和...

    图片转base64后传入后端.rar

    本话题主要探讨如何使用JavaScript将图片转化为Base64字符串,并在后端(以Java为例)接收并保存,以及解决因Base64编码过大导致的接收失败问题。 一、前端图片转Base64 1. 图片读取:在HTML5中,`...

    Qt之 Post方法上传图片到服务器两种方式Base64流和File

    在Qt框架中,进行HTTP POST请求来上传图片到服务器主要有两种常见的方式:Base64编码流和直接上传文件。这两种方法各有优缺点,适用于不同的场景。下面将详细讲解这两种方式的实现过程及其特点。 首先,我们来看...

    基于Linux 图像与BASE64编码互转.zip

    1. **BASE64编码**:BASE64是一种用于将任意二进制数据转换为ASCII字符集的编码方式,以便在电子邮件、HTTP协议等不支持二进制传输的场合使用。它通过将每3个字节的数据拆分为4个6位的值,并映射到64个可打印的ASCII...

    小程序图片转base64

    2. 上传服务器:将图片转换为Base64,可以直接作为字符串发送到服务器,简化上传流程。 3. 数据存储:在某些数据库或云存储服务中,支持存储Base64格式的图片,减少存储空间和读取效率。 实现小程序图片转Base64的...

    Base64转换图片JPG

    - **编码流程**:读取JPG图片的二进制数据,使用Base64编码函数将其转换为字符串。 - **解码流程**:接收Base64字符串,使用解码函数还原成二进制数据,然后写入文件系统作为JPG图片。 总的来说,"Base64转换图片...

    java 把PDF转换成BASE64

    在IT行业中,编码和解码是常见的数据处理任务,其中BASE64是一种广泛使用的编码方式。此主题聚焦于如何在Java环境下将PDF文档转换为BASE64字符串。PDF(Portable Document Format)是一种通用的文件格式,用于存储...

    Base64图片转换

    在实际应用中,Base64图片转换技术广泛应用于前端开发,例如在发送包含图片的邮件、在JSON对象中传输小尺寸图片数据、在某些不支持二进制传输的API中传递图片等场景。同时,由于Base64编码的图像字符串较长,对于大...

Global site tag (gtag.js) - Google Analytics