`

HttpURLConnection发送文件问题

阅读更多
由于工作需要,我需要在后台servlet模拟post向服务器发送数据,所以我用了HttpURLConnection类来实现,并且发送字符串数据已经能够实现了,但是不知道发送文件数据该如何实现。
发送数据代码如下
URL url = new URL(
			"http://**********");
			HttpURLConnection connection = (HttpURLConnection) url.openConnection();
			connection.setDoOutput(true);
			connection.setRequestMethod("POST");
			connection.setRequestProperty("Content-Type","multipart/form-data; boundary=Bounday---");
			connection.setRequestProperty("Cache-Control","no-cache");
			
			java.io.OutputStream os=connection.getOutputStream();
			OutputStreamWriter osw=new OutputStreamWriter(os);
	  		//BufferedWriter bWriter = new BufferedWriter(osw);
	  		//发送字符串数据
	  		 osw.write("字符串数据");
	  		 osw.flush();
                       /*发送文件数据该如何实现*/
	  		 
	  		
//	  	接收数据
	  		DataInputStream in = new DataInputStream(connection
					.getInputStream());
			byte[] bytes = new byte[2];
			in.read(bytes);
			//String result = new String(bytes);
			
			
			BufferedReader inss = new BufferedReader(new InputStreamReader(connection.getInputStream()));
			 String line = null;
			 StringBuffer content= new StringBuffer();
			while((line = inss.readLine()) != null){//line为返回值,这就可以判断是否成功、
				content.append(line);
			}
			inss.close() ;
			inss=null;
			url=null;

服务器端接收数据代码如下
BufferedReader bufferdeReader = request.getReader();
		StringBuffer sb1 = new StringBuffer();
		String tempStr = null;
		while ((tempStr = bufferdeReader.readLine()) != null) {
			String s = tempStr;
			sb1.append(s);
		}

现在我不会的是通过HttpURLConnection发送文件的发送端代码该如何写(如要发送的文件为d:\a.jsp),接收端接收文件的代码该如何写。希望各位大哥大姐指教。或者给一个HttpURLConnection这个类的详细说明文档也行,网上找的都说得比较简单。


再问一个问题。

现在文件传输的问题解决了,但是现在有个问题是,我在发送文件的时候,如何把文件名称也发送过去,在那边如何能够获取到文件名称呢?如果都是流的形式传输的,我如何在流中区分出文件名信息和文件流信息??
分享到:
评论
1 楼 gqf2008 2007-11-29  
打开一个文件输入流,从输入流中读取数据,往输出流中写入数据,finally 关闭打开的流

相关推荐

    使用HttpURLConnection发送短信

    ### 使用HttpURLConnection发送短信 在Java开发中,通过网络接口实现短信发送是一种常见的应用场景,例如在用户注册、找回密码等场景下验证用户身份时。本文将详细介绍如何利用`HttpURLConnection`来实现短信发送...

    使用HttpUrlConnection实现上传文件 服务器端代码

    - 上传文件可能引发安全问题,如DoS攻击,因此应限制上传文件的大小和类型。 - 服务器端应该验证文件名和内容,防止注入攻击。 - 考虑使用异步处理大文件,以免阻塞服务器线程。 - 为了提高性能,可以使用缓冲...

    HttpURLConnection文件下载\httpURLConnection文件下载

    在Java中,如果需要从网络上下载文件,`HttpURLConnection`是一个常见的选择,它提供了与HTTP服务器进行通信的能力,包括发送请求、接收响应以及读取返回的数据。在给定的代码片段中,展示了如何使用`...

    本示例使用HttpUrlConnection实现上传文件

    - **错误处理**:在实际应用中,需要对可能出现的异常情况进行处理,比如网络问题、文件不存在、权限不足等。 - **安全性**:考虑使用HTTPS而非HTTP,以保护数据传输过程中的安全。 - **进度显示**:如果文件较大,...

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

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

    JAVA通过HttpURLConnection 上传和下载文件的方法

    JAVA通过HttpURLConnection上传和下载文件的方法 JAVA通过HttpURLConnection上传和下载文件的方法是非常有实用价值的,需要的朋友可以参考下。HttpURLConnection是一个Java类,用于从网络中读取数据或向网络中写入...

    java HttpURLConnection 发送文件和字符串信息

    java HttpURLConnection 发送文件和字符串信息 java HttpURLConnection 是一种常用的网络通信协议,它可以用于发送文件和字符串信息。下面将详细介绍 java HttpURLConnection 发送文件和字符串信息的相关知识点。 ...

    HttpUrlConnection下载文件

    ### HttpUrlConnection下载文件:Java实现详解 在Java编程中,`HttpUrlConnection`是用于发送HTTP请求和接收响应的标准工具之一。它提供了一个简单而强大的API来与Web服务器进行交互,包括GET、POST等HTTP方法。...

    HttpURLConnection servlet 多文件参数 断点上传

    在处理文件上传时,我们通常需要设置请求方法为POST或PUT,并使用`setDoOutput(true)`开启输出流,以便向服务器发送数据。 Servlet是Java Web开发中的重要组件,用于接收和响应HTTP请求。在处理文件上传时,Servlet...

    Java利用HttpURLConnection发送post请求上传文件.docx

    要使用`HttpURLConnection`发送POST请求并上传文件,你需要创建一个HTTP连接,设置请求方法为POST,并设置`Content-Type`为`multipart/form-data`。然后,你需要创建一个`DataOutputStream`,通过它写入文件的各个...

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

    在这个场景下,我们使用POST方法,因为我们需要将本地的文件或目录内容发送到远程服务器。 要实现这个功能,我们需要以下几个步骤: 1. **建立连接**:创建`URL`对象,表示本地文件或目录所在的URL,然后通过`open...

    谈谈Java利用原始HttpURLConnection发送POST数据

    它提供了两种主要的子类:`HttpURLConnection`和`JarURLConnection`,分别用于处理HTTP协议和JAR文件URL。`HttpURLConnection`是进行HTTP请求的核心类,而`URL`类则用于构建指向特定网络资源的URL实例。 在使用`...

    Android程序开发通过HttpURLConnection上传文件到服务器

    文件上传通常采用`POST`方法,通过`multipart/form-data`编码方式来发送数据。这种编码方式允许在请求体中包含多个部分,每个部分之间用一个特定的分隔符(即`boundary`)来区分。文件部分通常包含文件名、文件类型...

    使用HttpURLConnection下载图片

    要处理可能的异常,如网络问题、文件I/O问题等,确保在try-catch块中进行。 8. **关闭资源**: 下载完成后,记得关闭输入流和输出流,避免资源泄漏。 9. **示例代码**: 这是一个简单的下载图片的示例代码: `...

    远程连接服务器HttpURLConnection

    这个类允许我们与远程服务器进行各种HTTP通信,包括发送GET、POST请求,上传文件,以及处理响应。在远程连接服务器的过程中,`HttpURLConnection`扮演着至关重要的角色。 首先,我们要理解`HttpURLConnection`的...

    使用HttpURLConnection

    默认情况下,`HttpURLConnection`没有设置超时,如果网络出现问题,程序可能会无限制地等待响应,导致程序阻塞。我们需要分别设置连接超时(connectTimeout)和读取超时(readTimeout),确保在一定时间内未得到响应...

    Java 中HttpURLConnection附件上传的实例详解

    * 文件大小限制:HttpURLConnection对文件大小有一定的限制,超过限制的文件可能无法上传成功。 六、结论 本文详细介绍了Java 中HttpURLConnection附件上传的实例详解,包括HttpURLConnection简介、附件上传的基本...

    HttpURLConnection获取json数据解析

    在Android开发中,HttpURLConnection是Java标准库提供的一种网络通信方式,用于与HTTP服务器进行交互。本篇将详细讲解如何使用...在提供的压缩包文件中,可能包含了实现这些功能的示例代码,可以作为学习和参考。

    android+httpurlconnection

    在后台线程中,我们可以读取HTTPURLConnection的输入流,将图片数据缓存到内存或文件中。例如: ```java InputStream inputStream = connection.getInputStream(); byte[] imageData = readInputStream(inputStream...

    HttpURLConnection和简单的Android服务器交互

    合理利用它,可以构建高效、安全的网络通信机制,实现丰富的功能,如登录注册、数据同步、文件上传下载等。同时,随着Retrofit、OkHttp等现代网络库的出现,开发者可以更便捷地进行网络编程,但理解底层原理仍然是...

Global site tag (gtag.js) - Google Analytics