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

(volley multirequest 后台实现) restful 多文件 表单 上传

阅读更多

 

restful demo(有数据库,rest soap 共存)restful cxf maven jdbctemplate 类似七牛 图床 设计 demo 

 http://knight-black-bob.iteye.com/blog/2276961

 

 

android volley ,多文件 表单上传 http://knight-black-bob.iteye.com/blog/2311805


 
 

 

(volley  multirequest 后台实现)  restful   多文件 表单 上传

@POST
	@Consumes("multipart/form-data")  
	@Path("/createFeed")
	public Response createFeed(  List<Attachment>attachments,@Context HttpServletRequest request ) {
		long userFrom = 0;
		String userNickname = null,userIcon = null,location = null,content = null;
		 List<FileKv>  fileList = new ArrayList<FileKv>();
		for (Attachment attach : attachments) {  
	            DataHandler dh = attach.getDataHandler();  
	            System.out.println(attach.getContentType().toString());  
	           // text/plain;charset=UTF-8
	            if (attach.getContentType().toString().contains("text/plain")) {  
	                try {  
	                    System.out.println(dh.getName());  
	                    System.out.println(writeToString(dh.getInputStream()));  
	                    
	                    if ("userFrom".equals(dh.getName())) { 
	                    	userFrom = Long.valueOf( writeToString(dh.getInputStream()));
						}else if("userNickname".equals(dh.getName())) { 
							userNickname =  writeToString(dh.getInputStream()) ;
						}else if("userIcon".equals(dh.getName())) { 
							userIcon =  writeToString(dh.getInputStream()) ;
						}else if("location".equals(dh.getName())) { 
							location =  writeToString(dh.getInputStream()) ;
						}else if("content".equals(dh.getName())) {
							content =  writeToString(dh.getInputStream()) ;
						}	                    
	                    
	                } catch (Exception e) {  
	                    e.printStackTrace();  
	                }  
	            } else if(attach.getContentType().toString().contains("application/octet-stream")){ 
	            	String path = request.getRealPath("/");
	            	String picSaveName = DatetimeUtil.getYMDHMS_ms(new Date());
	                try {  
	                    writeToFile(dh.getInputStream(), path +"img/feed/"+ picSaveName+".png");  
	                    fileList.add(new  FileKv(dh.getName(),picSaveName));
	                } catch (IOException e) {  
	                    e.printStackTrace();  
	                }  
	            }else{
	            	
	            }  
	        }
		 Feed feed = new Feed(); 
		 feed.setUserFrom(userFrom);
		 feed.setUserNickname( userNickname );
		 feed.setUserIcon( userIcon );
		 feed.setLocation( location );
		 feed.setContent( content );
		 feed.setClicknum(0);
		 feed.setInsertTime(new Date());
		 feed.setLastUpdateTime(new Date());
		 int feedId = feedDao.saveFeedReturnFeedId(feed);
	     for (FileKv kv : fileList) {
	    	 feedPicDao.saveFeedPic(new FeedPic(feedId, kv.fileName, Constants.BASEIP+"/RepositoryPic/WebService/rest/showPic/feed/"+kv.fileSaveName, new Date(), new Date() ));
		 }
		
		QueryResultJson result = new QueryResultJson(400, "error", null);
		result = new QueryResultJson();
			result.retcode = 200;
			result.retmsg = "success";
		return Response.ok(result).build();
	}

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

捐助开发者

在兴趣的驱动下,写一个免费的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(右上角的爱心标志,支持支付宝和PayPal捐助),没钱捧个人场,谢谢各位。



 
 
 谢谢您的赞助,我会做的更好!

 

 

 

  • 大小: 1.3 MB
  • 大小: 1.3 MB
0
2
分享到:
评论
2 楼 knight_black_bob 2016-07-19  
masuweng 写道
代码太少了,整个功能能发布出来吗?

(有数据库,rest soap 共存)restful cxf maven jdbctemplate 类似七牛 图床 设计 demo
http://knight-black-bob.iteye.com/blog/2276961
1 楼 masuweng 2016-07-18  
代码太少了,整个功能能发布出来吗?

相关推荐

    Volley实现文件的上传

    本教程将详细讲解如何使用Volley实现文件的上传,主要涉及的知识点包括Volley的工作原理、Multipart请求、文件处理以及上传过程中的错误处理。 首先,了解Volley的基本工作流程。Volley通过维护一个线程池来处理...

    android volley 实现上传图片文件到服务器

    首先,我们需要理解Volley的基本工作原理以及如何构建一个表单数据请求来实现文件上传。 ### 1. Volley介绍 Volley是由Google开发的网络库,它设计的目标是快速、简单地处理网络请求。Volley提供了异步请求处理、...

    Android volley 文件上传

    本文将深入探讨如何使用Volley实现文件上传到服务器,主要关注通过表单方式提交文件的核心知识点。 首先,理解文件上传的基本原理至关重要。在HTTP协议中,文件上传通常涉及到`POST`请求和`multipart/form-data`...

    Android实现表单上传文件

    - 虽然上述方式能实现文件上传,但代码较复杂,容易出错。推荐使用成熟的网络库,如OkHttp、Retrofit、Volley等,它们提供了更方便的接口来处理文件上传。 通过以上步骤,我们可以在Android应用中实现表单形式的...

    Volley上传图片(单多图)

    本篇将重点讲解如何利用Volley库来实现图片的上传功能,包括单张图片和多张图片的上传。 首先,我们需要了解Volley中的`RequestQueue`是处理所有网络请求的核心组件。创建一个`RequestQueue`实例后,我们可以向其...

    volley 通过表单提交数据

    在 Android 应用中,经常需要向服务器提交表单数据,Volley 提供了简单且强大的方式来实现这一功能。以下将详细介绍如何使用 Volley 通过表单提交数据以及封装表单数据。 1. **Volley 模块介绍** Volley 主要由 ...

    Android 多文件上传,表单上传

    除了原生的网络API,还可以利用如Retrofit、Volley、AsyncTaskLoader等第三方库简化文件上传的实现。这些库提供了更高级别的抽象,使代码更加简洁且易于维护。 综上所述,Android的多文件上传涉及到了网络编程、...

    volley联网解析网络上的xml文件

    Volley是Google推出的一款高效的Android网络请求库,它旨在简化网络操作,并且具有良好的性能和响应速度。...通过这种方式,我们可以利用Volley的强大功能和XML的灵活性,实现高效、可靠的网络数据交换。

    Android Volley扩展实现支持进度条的文件上传功能

    然而,当涉及到文件上传,特别是大文件时,Volley的默认行为可能会导致内存问题,因为它会一次性加载整个文件到内存中。为了解决这个问题,并提供文件上传进度的反馈,我们可以对Volley进行扩展。 在Android 2.3及...

    Android使用Volley实现上传文件功能

    首先,Volley 库提供了一个简单的 API,允许开发者轻松地实现文件上传功能。其次,Volley 库支持多种文件类型,可以上传图片、视频、音频等多种类型的文件。最后,Volley 库支持异步上传,允许开发者在上传文件时...

    Volley+Cache 实现网络缓存以及内存缓存

    Volley+Cache 实现网络缓存以及内存缓存

    Java实现表单提交(支持多文件同时上传)

    在Java和Android开发中,表单提交是常见的数据交互方式,尤其在处理用户上传文件时,多文件同时上传的需求尤为常见。本篇文章将重点讲解如何使用Java的HttpClient库来实现这一功能。 首先,HttpClient是一个强大的...

    Volley.jar程序文件

    Android Volley的jar包,包中含有源码。

    使用Volley上传文件到腾讯云

    下面我们将详细讲解如何使用Volley的表单方式实现文件上传至腾讯云。 首先,确保在项目中已经正确地集成Volley库。如果尚未添加,可以通过Gradle依赖进行添加: ```groovy dependencies { implementation '...

    volley图片上传服务端

    2. **转换为RequestBody**:Volley支持POST请求,但默认不支持文件上传。因此,我们需要将图片转换为RequestBody对象,可以使用`RequestBody.create(MediaType.parse("image/*"), file)`,其中file是图片文件。 3. ...

    volley获取图片并缓存

    Volley是Google推出的一款高效的网络请求库,特别适合Android应用中的快速、小数据量的网络交互。在Android应用中,加载图片是一项常见的任务,而Volley提供了强大的图片加载和缓存功能,使得即使在离线状态下,用户...

    android文件的上传和下载+后台完整代码

    本资源提供了一个完整的解决方案,涵盖了从Android客户端到后台服务器的整个流程,包括头像的上传与裁剪、文件上传、文件在线预览以及下载。以下是关于这些功能的详细知识点: 1. **头像上传与裁剪**: - 使用`...

    volley 上传文件

    综上所述,这个资源提供了基于 Volley 的文件上传解决方案,通过自定义的 `MultipartRequest` 类,开发者可以轻松地在 Android 应用中实现文件,尤其是图片的上传功能。同时,需要注意在实际应用中,还需要考虑性能...

    volley实现下载网页数据

    3. 并发请求:Volley默认支持多线程并发请求,但如果有大量请求,可能需要手动调整线程池参数。 4. 错误重试:Volley提供了RetryPolicy接口,可以自定义错误重试策略。 总结,Volley在Android开发中用于下载网页...

Global site tag (gtag.js) - Google Analytics