`
hunray
  • 浏览: 221348 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

httpurlconnection发送文件到服务端并接收

    博客分类:
  • Java
阅读更多
客户端代码


import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
/*
 * @author xk
 * 上传文件到文件服务器的客户端
 */
public class FileUploadClient{
	 public static void main(String[] args) {
	   try {
//		   URL url = new URL("http://127.0.0.1:8888/fileSys/getFile.action?filePath=/c/v/b/&fileName=test.zip");
		   URL url = new URL("http://127.0.0.1:8888/fileSys/getFile.action?filePath=/c/v/b/&fileName=test.zip");
		   HttpURLConnection conn = (HttpURLConnection)url.openConnection();
		   // 发送POST请求必须设置如下两行

		   conn.setDoOutput(true);
		   conn.setUseCaches(false);
		   conn.setRequestMethod("POST");
		   conn.setRequestProperty("Content-Type","text/html");
           conn.setRequestProperty("Cache-Control","no-cache");
           conn.setRequestProperty("Charsert", "UTF-8"); 
           conn.connect();
           conn.setConnectTimeout(10000);
           OutputStream out =conn.getOutputStream();

		   File file = new File("C:\\fileSys\\test.zip");
 
		   DataInputStream in = new DataInputStream(new FileInputStream(file));

		   int bytes = 0;
		   byte[] buffer = new byte[1024];
		   while ((bytes = in.read(buffer)) != -1) {
			   out.write(buffer, 0, bytes);
		   }
		   in.close();
		   out.flush();
		   out.close(); 
	
		   conn.getInputStream();
		   conn.disconnect();
	   } catch (Exception e) {
	   		System.out.println("发送文件出现异常!" + e);
	   		e.printStackTrace();
	   }
	}
}


服务端代码,接收文件

import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionSupport;
import com.property.PropertyUtil;

public class GetFileAction extends ActionSupport {

	private static final long serialVersionUID = -9108080625441081032L;  
	public String execute() throws Exception   
	{   	
		String rootPath = PropertyUtil.getProperty("fileSys.properties","fileSys.path");
		
		HttpServletRequest request = ServletActionContext.getRequest();
		String filePath = request.getParameter("filePath");
		String fileName = request.getParameter("fileName");

		InputStream input = request.getInputStream(); 
		String fileFullPath = rootPath + filePath + fileName; 
		
		File file = new File(rootPath + filePath);
		if(!file.exists()){
			file.mkdirs();
		}
		FileOutputStream fos = new FileOutputStream(fileFullPath);

		int size = 0;
		byte[] buffer = new byte[1024];
		while ((size = input.read(buffer,0,1024)) != -1) {
			fos.write(buffer, 0, size);
		}
		fos.close();
		input.close();

		return Action.NONE;   
	}   
}


分享到:
评论

相关推荐

    Java自带的HttpURLConnection访问接口实现文件上传

    在本文中,我们将深入探讨如何使用HttpURLConnection实现文件上传,同时也会涉及普通参数的传递。 首先,我们需要理解HTTP请求的基本结构。HTTP请求通常由以下几个部分组成:请求行、请求头、空行和请求体。在文件...

    Android上传文件到服务端并显示进度条

    在Android应用开发中,有时需要将本地文件上传到服务端,并在上传过程中向用户展示进度条,以便用户了解上传状态。本篇文章将详细介绍如何实现这一功能。 首先,我们需要使用`HttpURLConnection`类来处理网络请求。...

    android 上传文件到服务端案例

    综上所述,Android上传文件到服务端涉及到网络请求、文件读取、请求体构建、发送请求及处理响应等多个环节。通过使用像`OkHttp`这样的库,可以简化这些操作,让开发者更专注于业务逻辑。在这个案例中,...

    从android客户端传一个文件到服务端【使用httpurl】

    以上就是使用`HttpURLConnection`在Android客户端上传文件到服务器的基本流程。注意,实际开发中可能还需要处理更多细节,比如异常处理、网络权限申请、文件大小限制、进度显示等。在大型项目中,可能还会选择使用...

    android客户端上传文件,struts2服务端接收

    本篇将详细讲解如何实现Android客户端上传文件以及Struts2服务端接收的过程。 首先,让我们从Android客户端开始。在Android中,文件上传主要涉及`HttpURLConnection`或`OkHttp`库,通过POST请求将文件内容发送到...

    android客户端上传文件源码,struts2服务端接收源码 .zip

    3. 文件存储:将接收到的文件内容保存到服务器的某个位置,可能需要考虑临时文件管理、重命名策略等。 4. 业务处理:对上传的文件进行验证(如文件类型、大小)、业务逻辑处理(如保存到数据库、进行处理等)。 在...

    HttpURLConnection读取本地目录上传远程服务器

    而`jyWebService`可能是一个服务端接口,接收并处理来自`jyWebClient`的上传请求。 总的来说,这个场景涉及到了Java网络编程、HTTP协议、文件操作、流处理、线程调度等多个知识点。理解并熟练掌握这些技能对于进行...

    文件上传源码 客户端服务端

    服务端部分则在"FileUpAndDown"中,服务器接收来自客户端的文件并将其存储在服务器的磁盘上,或者可能是云存储服务如SAE(新浪应用引擎)。在Java中,服务端可能使用Servlet或Spring MVC等框架来处理HTTP请求。当...

    android客户端上传文件源码,struts2服务端接收源码。.zip

    总之,Android客户端通过HTTP请求将文件上传到使用Struts2框架的Java服务器,服务端接收到文件后进行处理并返回响应。这个过程涉及到Android的网络编程、文件操作,以及Java的Web服务开发,对开发者的要求是全面的。

    Android图片参数客户端上传,服务端接收

    2. **存储图片**:接收到图片数据后,服务端需要将其保存到文件系统、云存储(如AWS S3)或数据库。在保存时,可能需要为图片命名、生成缩略图,以及设置访问权限。 3. **返回响应**:服务端在成功接收并处理图片后...

    android 通过生成的pdf文件发送服务端调用打印 ,打印预览用WebView显示本地Html

    4. **服务端处理**:服务端接收到PDF后,可能需要进行进一步的处理,比如存储文件、调用打印服务。这取决于具体的服务器架构和语言,如Java、Python、Node.js等。服务器端可能需要有处理PDF和调用打印机API的能力。 ...

    android上传文件到服务器(客户端加服务端源码)

    - 当所有文件都添加到请求后,通过HttpURLConnection的connect()方法建立连接。 - 调用finishWriting()方法,如setDoOutput(true)和flush(),确保所有数据都被发送。 - 最后,关闭输入/输出流,以避免资源泄漏。 ...

    安卓Android源码——安卓图片上传和文件上传带jsp服务端源码.rar

    服务端通常需要解析接收到的POST请求,从中提取文件流,然后保存到服务器的特定位置。服务端代码可能涉及Servlet或JSP技术,其中JSP(JavaServer Pages)是一种动态网页技术,可以方便地与Java后端逻辑结合。 3. ...

    android上传图片到服务端

    总结起来,Android上传图片到服务端的过程主要包括:从相册选择图片、读取图片并转换为二进制数据、创建HTTP POST请求发送图片,以及服务端接收并保存图片。在这个过程中,需要注意网络请求的错误处理、文件的大小...

    android 拍照 录像 本地文件上传客户端 服务端

    - 服务端通常使用Java、Python、Node.js等后端语言开发,需要实现接收文件上传的接口,解析接收到的文件流,保存到服务器硬盘,并返回上传状态。 - 需要处理多线程接收、文件完整性校验、权限控制等问题。 7. **...

    android客户端上传文件到服务器端

    6. **文件流操作**:在服务器端接收到文件后,可以将其保存到硬盘。文件流的处理是关键,确保正确地读取客户端发送的文件流,并将其写入服务器的指定位置。使用`InputStream`和`OutputStream`进行操作,并注意关闭流...

    经典的文件上传客户端和Tomcat服务端

    1. **解析请求**:服务端接收到请求后,使用`ServletInputStream`读取请求体,解析multipart/form-data格式的数据。`Commons FileUpload`库是一个常用的解析工具,它可以处理边界和编码问题。 2. **文件保存**:...

    文件上传android端和服务端

    3. **存储文件**:接收到文件后,服务器将其保存到指定位置,可以是本地磁盘、云存储服务如AWS S3或Google Cloud Storage。 4. **响应客户端**:服务器处理完文件上传后,返回一个JSON或其他格式的响应,告知客户端...

    Android应用源码之安卓图片上传和文件上传带jsp服务端源码.zip

    4. 服务端接收到请求,解析Part数据,保存文件到服务器。 5. 服务端返回响应,客户端解析响应,根据状态码显示上传结果。 以上就是这个源码涉及到的主要技术点。通过学习和实践,开发者不仅可以了解Android客户端与...

    java_http_post.zip_http服务端_服务器接收http

    服务器端接收到POST请求后,会解析请求体中的数据并进行相应的处理。服务器可能返回HTTP状态码(如200表示成功,400表示错误),以及可能包含有用信息的响应体。Java客户端可以通过读取`HttpResponse`或`...

Global site tag (gtag.js) - Google Analytics