因为工作原因,很久时间木有更新了,不怕有时间久继续更新:
基本的resteasy的搭建详情请看第一、二波,我这里指的上传是指利用 resteasy来获取:客户端HTTP开发包发送的body请求-----刚开始也没撒头绪,第一时间去google,发现有哥们问同样的问题,但是却 没有解决方法,于是乎就只有硬着头皮看英文文档,发现如下文档:
The @Context annotation allows you to inject instances of javax.ws.rs.core.HttpHeaders, javax.ws.rs.core.UriInfo, javax.ws.rs.core.Request, javax.servlet.HttpServletRequest, javax.servlet.HttpServletResponse, javax.servlet.ServletConfig, javax.servlet.ServletContext, and javax.ws.rs.core.SecurityContext objects.
翻译下呢就是说使用@Context 注解就可以将 javax.ws.rs.core.HttpHeaders, javax.ws.rs.core.UriInfo, javax.ws.rs.core.Request, javax.servlet.HttpServletRequest, javax.servlet.HttpServletResponse, javax.servlet.ServletConfig, javax.servlet.ServletContext, and javax.ws.rs.core.SecurityContext等等实例注入到变量中
server端resource类代码如下:
- @PUT
- @Path(value = "/{folder}/{fileName}")
- public Response uploadFile(@PathParam("folder") String folder,@PathParam("fileName") String fileName, @Context HttpServletRequest request)
- {
- File f = new File("x:\\"+fileName);
- InputStream is = null;
- try {
- is = request.getInputStream();
- FileUtils.copyInputStreamToFile(is, f);
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return Response.ok().build();
- }
请主要看下以上代码红色部分,就相当于把HttpServletRequest请求注入到了request变量中,那么通过request对象获取获取输入流,则得到了body主体部分的数据。
客户端的代码如下
- String urlResouce = "http://localhost:8080/cloud-storeage-boss/muluSDF/xyz.png"; // create URL
- File localFile = new File("C:\\Users\\maomao\\Pictures\\2.png");
- try{
- HttpURLConnection urlConnection =
- (HttpURLConnection) (new URL(urlResouce)).openConnection();
- urlConnection.setDoInput(true);
- urlConnection.setDoOutput(true);
- urlConnection.setRequestMethod("PUT");
- OutputStream urlOutputStream = urlConnection.getOutputStream();
- FileInputStream fileInputStream = new FileInputStream(localFile);
- IOUtils.copy(fileInputStream, urlOutputStream);
- fileInputStream.close();
- urlOutputStream.close();
- System.out.println(urlConnection.getResponseCode());
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
通过此客户端的调用,就可以将本地的2.png文件上传到服务器,并被保存为xyz.png.
相关推荐
resteasy入门级文档、如何使用Restful进行WebService的开发简介及相关RestEasy相关资源的链接
离线安装包,亲测可用
resteasy-reference-guide-en-US.pdf
java运行依赖jar包
由jboss实现的resteasy框架,能够更好的支持restful服务,该资源为resteasy框架的工具包
JBoss RESTEasy 是一个用来使用Java语言开发 RESTFul Web服务的框架。RESTEasy 项目是 JAX-RS 的一个实现,集成的一些亮点: * 不需要配置文件,只要把JARs文件放到类路径里面,添加 @Path 注解就可以了。 * 完全...
Resteasy JAX-RS 3.0.6-all.zip Resteasy JAX-RS最新官方zip包 包含文档资源包 webservice Restful 包含文档资源包
resteasy-jaxrs-2.3.4.Final-all开发包
java运行依赖jar包
离线安装包,亲测可用
RESTEasy:RESTEasy是JBoss的一个开源项目,提供各种框架帮助你构建RESTful Web Services和RESTful Java应用程序。它是JAX-RS规范的一个完整实现并通过JCP认证。 JAX-RS: 是一套用java实现REST服务的规范。(全名...
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
resteasy-jaxrs-2.3.2框架源码。希望您了解Resteasy框架有所帮助
使用RESTEasy+guice实现上传下载文件
RestEasy-3.09-Spring-3.2.5-Swagger2.0 Jboss EAP 6(Jboss 7)RestEasy 3.09 Spring 3.2.5 Swagger 2.0与Web.xml和Bean配置的Swagger UI集成 为此,您必须将RestEasy安装升级到3.09 说明来自: : Resteasy与...
resteasy-netty-context-servlet 使用带有 resteasy 的 Netty 容器时注入 HttpServletRequest再现运行mvn clean package 运行mvn exec:java并在另一个命令行窗口中运行? curl -X POST ...
java运行依赖jar包
很实用的教程 有很多实例代码 基本都是代码
resteasy的官方源码 适合学习业务
是jboss下面一个对JAX-RS(JSR311)的一个实现,使用起来简单方便,支持spring,oauth等。