`
glamey
  • 浏览: 91851 次
  • 性别: Icon_minigender_1
  • 来自: bj
社区版块
存档分类
最新评论

客户端通过http协议上传文件,struts2服务端接受

    博客分类:
  • J2EE
阅读更多
近段要写一个接口,主要是手机端通过接口上传图片到服务器。
客户端测试代码如下:

public static void main(String[] args) {
		
		String fileName = "c:/t_client.png";
		String sUrl = "http://192.168.1.100:8080/lbs/recClientFile.action" ;
		SendData sd = new SendData();
		sd.sendFileToServer(fileName, sUrl);
	}
	
	public void sendFileToServer(String fileName,String sUrl){
		File file = new File(fileName);
		try {
			URL url = new URL(sUrl); 
			HttpURLConnection conn = (HttpURLConnection) url.openConnection();
			conn.setUseCaches(false);
			conn.setDoOutput(true);
			conn.setDoInput(true);
//			conn.setRequestProperty("Content-Type", "multipart/form-data"); 更改成下边的就行了
			conn.setRequestProperty("Content-Type","text/html");

			ByteArrayOutputStream bos = new ByteArrayOutputStream();
			BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
			int len ;
			while( (len = bis.read()) > -1 ){
				bos.write(len);
			}
			byte fileData [] = bos.toByteArray();
			
			DataOutputStream dos = new DataOutputStream(conn.getOutputStream());
			dos.write(fileData);
			dos.flush();
			dos.close();
			
			bis.close();
			bos.close();
			
			conn.disconnect();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}




服务器端,struts2的一个action方法
public String recClientFile(){
		try {
			InputStream is  = request.getInputStream();
			FileOutputStream  fos = new FileOutputStream("c:/t_server.png");
			int len ;
			byte buffer [] = new byte[1024];
			while( (len = is.read(buffer)) > -1 ){
				fos.write(buffer, 0, len);
			}
			fos.close();
			is.close();
			System.err.println("rec the img from client over ! ");
		} catch (IOException e) {
			e.printStackTrace();
		}
		return null ;
	}


tomcat服务器一直启动着,然后客户端访问即可。
上边的都是测试代码,需要的话,只用改动下即可。
注意的是,使用struts2接收文件的时候,客户端需要设置的content-type应该是text/html。因为struts2已经对此处理过了。
1
0
分享到:
评论
1 楼 zdc9023 2016-05-06  
能看下服务端的全部代码吗

相关推荐

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

    总结来说,这个源码包展示了Android客户端如何使用HTTP POST请求上传文件到Struts2服务端,以及服务端如何接收和处理这些文件。这涵盖了Android网络编程、文件操作、Struts2框架以及可能的跨平台通信技术。对于学习...

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

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

    java上传下载实例

    你可以通过分析Action类、Interceptor、配置文件(struts.xml)等内容,深入理解Struts2如何与Servlet协同工作,完成文件的上传下载操作。此外,还可能涉及到异常处理、文件路径管理、安全性(防止恶意文件上传)等...

    struts2+hibernate3.3+j2se+网络游戏等各种视频教程下载!

    根据提供的文件信息,我们可以归纳出以下几个关键的知识点:Struts2框架、Hibernate3.3、J2SE(Java 2 Platform Standard Edition)以及与网络游戏相关的开发技术。 ### Struts2框架 #### 概述 Struts2是Apache ...

    微信小程序文件上传客户的 java服务器端源码

    使用Spring Boot、Spring Cloud等Java框架,可以简化服务端开发,快速集成文件上传功能。 8. **测试与调试**: 对于微信小程序的文件上传功能,需要进行多环境(开发、测试、生产)的测试,确保在不同环境下都能...

    axis2教程word文件

    通过两种调用方式——直接调用服务端Java类和通过HTTP SOAP协议调用——展示了灵活的服务访问机制。 3. **使用C#实现PIM,整合.NET与Java技术** 最后一个案例使用C#实现PIM系统,旨在展示.NET与Java技术的集成,...

    axis2 教程

    使用Java Swing构建个人信息管理系统,通过WebService处理图像文件上传和Resultset对象传输,展示了 Axis2 在客户端应用程序中的使用。 - **项目二:Struts 2.1.6 PIM**: 使用Struts 2框架实现Web版PIM,展示...

    WebService之Axis2教程

    - **实现方式**:通过.NET客户端调用Java服务端提供的WebService接口。 #### 四、Axis2安装与配置 - **下载资源**:访问[Apache Axis2官网](http://ws.apache.org/axis2/)获取最新版本的Axis2。 - **安装包介绍**...

    Axis2教程[整理].pdf

    该项目旨在展示Java和.NET技术的集成,通过C#客户端调用Java服务端的Web服务,实现跨平台的应用协作。 通过这些项目,学员不仅学习了Axis2的基本操作,还了解了如何根据实际需求选择合适的技术栈,以及如何在不同...

    BlazeDS 数据通信技术

    - **端点(Endpoint)**:端点是服务器端的特定位置,客户端可以通过它向服务端发送消息或接收响应。 - **消息(Message)**:消息是客户端和服务端之间传递的数据包,它可以包含远程过程调用或事件通知等信息。 - **...

    Axis2(WebService)经典教程.docx

    - **Struts 2.1.6实现的Web版PIM**:探讨了如何在Web应用中嵌入WebService,既可以直接调用服务端的Java类,也可以通过HTTP SOAP协议远程调用。 - **C#实现的PIM**:展示了Java和.NET技术的结合,演示了跨平台的...

    JAVA网络编程实例

    Struts通过配置文件(struts-config.xml或struts.xml)定义Action映射,控制流程。使用Struts可以方便地处理HTTP请求,进行表单验证,以及与后端数据库交互。 在实际应用中,Servlet和Struts常常结合使用,Servlet...

    linux_ssh2

    将生成的公钥文件复制到另一个文件,并通过FTP方式上传到远程主机。 7. **在远程主机上设置免密码登录:** 将客户端生成的公钥添加到远程主机用户的`.ssh2/authorized_keys`文件中,这样就可以实现免密码登录了。...

    JAVA上百实例源码以及开源项目源代码

    Tcp服务端与客户端的JAVA实例源代码 2个目标文件 摘要:Java源码,文件操作,TCP,服务器 Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多...

    毕业论文-计算机专业

    - Struts2可以通过插件或自定义配置来支持RESTful风格的服务接口。 - 通过URL映射、请求参数解析等功能,使得RESTful服务更加灵活。 6. **三大框架的整合**: - 整合三大框架可以实现前后端分离的设计模式,提高...

    java开源包3

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

Global site tag (gtag.js) - Google Analytics