`
lijunjie
  • 浏览: 391792 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

将本地图片或者网上图片用post方式上传到图片服务器

阅读更多
一个简单的应用
package com.bj95ol.test;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

import javax.servlet.ServletInputStream;
import javax.servlet.http.HttpServletRequest;

import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;

public class SendImgToWeb {
	/**
	 * 获得网络图片地址。或者图片地址
	 * @param url
	 * @return
	 */
	public String getContentFromWeb(String url)
	{
		String filecontent="";
		InputStream is=null;
		BASE64Encoder base=new BASE64Encoder();
		if(url.startsWith("http"))
		{
			try {
				HttpURLConnection urlconn=(HttpURLConnection)new URL(url).openConnection();
				is=urlconn.getInputStream();
			} catch (MalformedURLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		int n=0;
		byte[] b=null;
		try {
			while((n=is.available())>0)
			{
				n=is.read(b);
				if(n==-1)break;
				filecontent=filecontent+base.encode(b);
				
			}
			is.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return filecontent;
	}
	
	/**
	 * 将图片内容用post方式发送到url中
	 * @param url
	 * @param postcontent
	 */
	
	public void sendImgbyPost(String url,String postcontent)
	{
		try {
			HttpURLConnection huc=(HttpURLConnection)new URL(url).openConnection();
			huc.setDoInput(true);
			huc.setDoOutput(true);
			huc.setRequestMethod("POST");
			
			PrintWriter pw=new PrintWriter(new OutputStreamWriter(huc.getOutputStream()));
			pw.print(postcontent);
			pw.close();
			
			BufferedReader br=new BufferedReader(new InputStreamReader(huc.getInputStream()));
			String content="";
			String line=br.readLine();
			while(line!=null)
			{
				content=content+line;
				line=br.readLine();
				
			}
			
		} catch (MalformedURLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
	/**
	 * 在服务器端获取发送过来的内容
	 * @param request
	 * @return
	 */
	public String receiveContent(HttpServletRequest request)
	{
		int a = 0;
		 byte[] b = new byte[4096];
		String result="";
		try
		{
		 ServletInputStream sis=request.getInputStream();
		int line=sis.readLine(b, 0, b.length);
		while(line!=-1)
		{
		result=result+new String(b,0,line);
		line=sis.readLine(b, 0, b.length);
		}
		}
		catch(Exception e)
		{
		e.printStackTrace();
		}
		return  result;
	}
	
	/**
	 * 将接受过来的信息生成文件
	 * @param request
	 * @param filename
	 */
	public void createFile(HttpServletRequest request,String filename)
	{
		File file=new File(filename);
		try {
			FileOutputStream fos=new FileOutputStream(file);
			String content=receiveContent(request);
			BASE64Decoder base=new BASE64Decoder();
			byte[] b=base.decodeBuffer(content);
			fos.write(b);
			fos.close();
			
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}

}




5
2
分享到:
评论

相关推荐

    易语言post图片上传

    本知识点聚焦于使用易语言进行POST方式的图片上传操作,这是一种常见的网络数据传输方法,尤其在网页表单提交、文件上传等场景中广泛应用。 在Web开发中,POST请求常用于向服务器发送数据,包括文本、图片等各种...

    本地上传图片到服务器,代码简单易懂

    用户在应用中选择本地图片后,应用会获取到图片的本地路径。然后,应用将图片文件转换为字节流(Byte Stream),通过HTTP协议发送到服务器。服务器端接收这个字节流,将其保存到指定的存储位置,通常是文件系统或者...

    js读取本地图片进行预览,上传服务器

    在JavaScript中,本地图片的预览和上传到服务器是一个常见的需求,特别是在Web应用中,比如社交媒体、博客编辑器或者在线图像处理工具。本项目着重于实现这个功能,提供了源码和工具来帮助开发者轻松实现这一过程。...

    易语言POST百度上传图片

    本主题聚焦于使用易语言实现通过POST方法向百度上传图片的功能。在互联网编程中,POST请求常用于向服务器发送数据,比如上传文件。下面将详细阐述这一过程涉及的关键知识点。 1. **HTTP协议与POST请求**: - HTTP...

    C# winform上传照片到服务器

    在C# WinForm应用开发中,上传照片到服务器是一个常见的需求,这涉及到客户端与服务器之间的文件传输技术。本文将深入探讨如何实现这个功能,以及如何根据要求修改照片的名字。 首先,我们需要了解C#中的文件操作...

    android实现本地图片上传服务器

    3. **文件保存**:接收到图片后,服务器需要将其保存到磁盘。可以使用Java的I/O流操作,如`FileOutputStream`。 4. **Struct2框架**:如果使用Struct2,它是一个基于MVC模式的Web应用程序框架,可以帮助组织服务器...

    java多图片上传、删除、预览,post提交

    这里我们探讨的是如何利用Java和layui插件实现这些功能,并通过POST方法将数据提交到服务端。layui是一款流行的前端UI框架,它提供了丰富的组件,包括图片上传等。以下是关于这个主题的详细知识点: 1. **图片上传*...

    【JavaScript源代码】js实现上传图片到服务器.docx

    在JavaScript中实现图片上传到服务器的过程通常涉及到前端的文件选取、本地预览、Base64编码,以及与后端服务器的交互。以下是对这个过程的详细解析: 1. **前端文件选取**: - HTML部分提供了`...

    VB上传本地文件到服务器

    在VB(Visual Basic)编程中,上传本地文件到服务器是一个常见的任务,特别是在开发Web应用程序时。这个过程涉及客户端(用户计算机)与服务器之间的数据交互,通常通过HTTP协议完成。以下是对这一主题的详细阐述: ...

    本地图片上传

    首先,我们要理解“本地图片上传”指的是用户在自己的设备(本地)上选择图片,然后通过网页或应用程序将其传输到服务器的过程。这个过程通常分为以下几个步骤: 1. **选择图片**:用户通过点击“选择文件”或...

    使用cropper裁剪图片上传服务器并保存在本地

    本示例主要涉及的是如何使用cropper工具裁剪图片,然后将裁剪后的图片以Base64编码的形式上传到服务器,并最终保存在本地。以下是这个过程的详细解释。 1. **什么是Cropper**: Cropper是一款强大的JavaScript图片...

    TinyMCE 实现本地图片上传

    upload_handler`中,我们创建了一个新的XMLHttpRequest对象,设置了`withCredentials`为`false`以防止跨域问题,然后定义了`open`和`send`方法来发起POST请求,将图片文件作为FormData对象的一部分发送到服务器。...

    用.net实现图片上传功能

    在服务器端,我们需要处理这个请求,读取上传的文件,然后保存到本地磁盘或者云存储服务。在这个过程中,`upload_click`函数通常是在服务器端触发的事件处理器,它会响应用户的上传请求。 1. **前端准备**: - ...

    html上传图片到服务器例子.zip

    这个例子可能包含一个简单的HTML表单,用于选择本地的图片文件并将其发送到服务器进行存储。下面我们将深入探讨这一过程涉及的关键知识点。 1. **HTML表单**:HTML中的`<form>`元素是数据提交的基础。创建一个允许...

    Android上传图片到服务器

    在Android应用开发中,将本地图片上传到服务器是一项常见的任务,尤其在社交、电商或个人云存储类应用中。这个“Android上传图片到服务器”的小demo涵盖了这一过程的关键步骤,让我们一起深入了解一下。 首先,我们...

    java上传图片至服务器并且返回下载URL

    在Java开发中,将图片上传到服务器并返回可下载的URL是常见的功能需求,尤其在Web应用中。这里我们将详细探讨实现这一功能的关键步骤和技术点。 首先,客户端(通常是前端应用)需要通过HTTP请求将图片文件发送到...

    android客户端上传图片到服务器的简单实现

    使用OkHttp上传图片时,需要创建一个RequestBody对象,将图片文件转换为RequestBody,然后在Request中设置这个RequestBody,最后通过OkHttpClient发送POST请求。 2. **Retrofit**: Retrofit是基于OkHttp的网络请求...

    http post方式上传文件(C#)

    然后,我们读取本地文件并将其添加到内容中,指定文件名以便服务器可以识别。 为了实现“不受大小限制”的文件上传,我们需要确保服务器端的配置允许接收大文件,并在客户端代码中处理大文件流。这可能涉及分块上传...

    android上传图片至服务器

    在Android平台上,将图片上传到服务器是一个常见的任务,涉及到客户端(Android应用)和服务器端(通常为Web服务)的交互。以下将详细讲解这个过程的关键步骤、涉及的技术和注意事项。 一、客户端(Android应用)...

    httpClient post 上传 下载 图片

    下面将详细介绍如何使用HttpClient进行图片的上传和下载,并探讨如何修改上传和下载的URI。 1. **HttpClient上传图片**: - 首先,我们需要创建一个`HttpPost`对象,设置目标URI,这通常是一个服务器端处理图片...

Global site tag (gtag.js) - Google Analytics