- 浏览: 437793 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (133)
- 内容 (5)
- H2数据库 Server服务器 (0)
- H2数据库 Server服务器 H2+JPA (2)
- JSF (10)
- TA测试 (1)
- Error Solution (1)
- WEB端测试 (2)
- JAVA API (0)
- WEB端自动化测试 (14)
- BAT文件 (1)
- javascript (0)
- Jenkins (5)
- Nexus (1)
- 操作系统 (3)
- OFBIZ (2)
- spingmvc (1)
- Hibernate3 (4)
- ubuntu (1)
- apache (2)
- Cisco (0)
- JBoss (2)
- SecureCRT (1)
- mysql (0)
- android (45)
- PHP (4)
- android studio (4)
- nodejs (1)
- iOS (0)
- JPA (1)
- gradle (0)
- Android端自动化测试 (2)
- okhttp3 (1)
- Java (2)
- mybatis (1)
- kettle (0)
最新评论
-
紫瑶诗书:
Android自动化测试实战(Java篇+主流工具+框架+脚本 ...
使用Robotium进行android自动化测试 -
wxynxyo:
上善若水_Happy 写道你好,想请教下icon的css是怎么 ...
Primefaces3之p:tree -
上善若水_Happy:
你好,想请教下icon的css是怎么写的?
Primefaces3之p:tree -
weijs:
谢谢,这个文章解决了我的疑问
Jenkins 部署项目到远端的TOMCAT下 -
ljl961890233bear:
<bean id="st ...
springmvc 发送ajax中文乱码的几种解决办法
使用Retrofit2.0+spingmvc上传图片和参数
- 博客分类:
- android
如题,使用SPINGMVC接收数据
服务端接口如下
处理图片的流程如下,在使用如下的方法是容易导致绑定解析错误
修改成如下:
安卓端处理如下:最开始是打算1-1处理,最终还是整体作为RequestBody来处理,这样服务端接的时候,数据就会在multiRequest;
/***********使用OHTTP3**************/
服务端接口如下
@RequestMapping(value ="/photo", method = RequestMethod.POST) @ApiOperation(value = "XXX", notes = "XXX") public ResponseBean photo(@ApiParam(required = true, name = "param1", value = "XXX")@RequestParam String param1, @ApiParam(required = true, name = "param2", value = "XXX")@RequestParam Long param2, @ApiParam(required = true, name = "param3", value = "XXX")@RequestParam String param3, @ApiParam(required = true, name = "param4", value = "XXX")@RequestParam int param4, HttpServletRequest request){
处理图片的流程如下,在使用如下的方法是容易导致绑定解析错误
//MultipartHttpServletRequest multiRequest = multipartResolver.resolveMultipart(request)
修改成如下:
public static List<FileInfo> multipartUpload(HttpServletRequest request) throws Exception { List<FileInfo> list = new ArrayList(); MultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext()); //判断 request 是否有文件上传,即多部分请求 if(multipartResolver.isMultipart(request)) { //转换成多部分request //MultipartHttpServletRequest multiRequest = multipartResolver.resolveMultipart(request);<==caused error MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest)(request); List<MultipartFile> multipartFileList = multiRequest.getFiles("file"); if (multipartFileList.size()==0){//ios版本 //取得request中的所有文件名 Iterator<String> iter = multiRequest.getFileNames(); while (iter.hasNext()) { //取得上传文件 MultipartFile file = multiRequest.getFile(iter.next()); list.add(FastDFS(file));//上传头像 } }else{//android版本 for (MultipartFile file :multipartFileList){ list.add(FastDFS(file));//上传头像 } } } return list; }
安卓端处理如下:最开始是打算1-1处理,最终还是整体作为RequestBody来处理,这样服务端接的时候,数据就会在multiRequest;
RequestBody requestBody = new MultipartBody.Builder() .addFormDataPart("file", file.getName(), RequestBody.create(MediaType.parse("image/*"), file)) .addFormDataPart("param1", param1) .addFormDataPart("param2", param2) .addFormDataPart("param3, param3) .addFormDataPart("param4", param4+"").build(); Observable observable = connectionService.photo(requestBody).map(new HttpResultFunc<Long>());
/***********使用OHTTP3**************/
RequestBody filePartBody = new MultipartBody.Builder() .addFormDataPart("file", pressedPhotoFile.getName(), RequestBody.create(MediaType.parse("image/*"), pressedPhotoFile)) .addFormDataPart("param1", param1) .addFormDataPart("param2", param2) .addFormDataPart("param3", param3) .addFormDataPart("param4", param4).build(); Request request = new Request.Builder() .url(ConstantNewValue.PHOTO_INTERFACE) .post(filePartBody) .build(); OkHttpClient.Builder builder = new OkHttpClient.Builder(); OkHttpClient okHttpClient = builder .connectTimeout(200, TimeUnit.SECONDS) .addInterceptor(new ReadCookieInterceptor()) .build(); response = okHttpClient.newCall(request).execute(); String mResult = response.body().string();
发表评论
-
如何自己做一个Launcher App
2017-05-18 09:27 0自定义一个自己的Launcher App,并在这个App上控制 ... -
android CPU架构和对应的libs
2017-05-16 17:47 823官网内容: 有如上的几种架构方式,不同的手机使用不 ... -
如何屏蔽HOME,MENU键
2017-05-12 13:40 1011如何屏蔽HOME,MENU键,找了很多答案,下面就是几种办法 ... -
EditText光标随着输入移动
2017-04-26 09:35 1654当前需求如下:点击一个按钮,弹出自定义的键盘,同时输入框内 ... -
调用DialogFragment出现的Can not perform this action after onSaveInstanceState
2017-04-24 09:13 1899代码里面用如下的业务场景:进页面并判断是否签到,没有签到就跳转 ... -
使用自定义的Launcher.apk替代系统的
2017-04-23 08:54 9761.首先使用adb shell命令 ... -
Android避免重复提交的问题
2017-04-06 12:08 629关于某些控件,多次点击导致的重复提交问题,我汇总如下: 1. ... -
百度定位 WIFI正常 电信3G出错;Error Code:62
2016-12-22 09:29 1058使用一款4.3系统的手机,在开发过程中发现如下的问题 1.W ... -
关于CPU ABI的一些零碎
2016-08-17 15:18 622首先是一篇文章 关于SO文件你应该知道的 http://ph0 ... -
防止Activity被销毁以后fragment依然存在的问题
2016-08-11 15:49 0App被切换到后台以后,当前的Activity的生命周期 ... -
使用PullToRefreshListView下拉和加载代码
2016-08-05 10:55 1266//三个参数 private int pageNo = ... -
Android连接服务端出现中文乱码的问题
2016-08-01 15:46 540这个是常见问题,我给出我的排查和解决办法。 前提条件 ... -
TextInputLayout的使用
2016-06-14 14:39 999使用AS发现模板下的 ... -
Android项目代码Inspect Code的各种问题以及集合
2016-05-31 10:22 0一个android项目,使用inspect code,居 ... -
使用Apollo And Mosquitto 作为MQTT Server
2016-05-13 09:56 8945始于环信的消息推送,了解了下目前的几种推送模式,XMP ... -
环信项目分析之2
2016-05-10 14:56 838第二篇主要介绍一下服务端如何与环信进行交互, 环信的官网 ... -
Jersy之路1
2016-05-09 22:00 540关于Jersey2.X 就不巴拉巴拉说这么多废话了。 ... -
环信项目分析之1
2016-05-09 21:32 726系列文章主要是用于分析环信的APP,消息推送等功能。 基 ... -
Okhttp3 学习历程之一
2016-04-27 10:43 1676最近想把一个简单的安卓APP重写一下,写的过程中就涉及到 ... -
Clicking on EditText Makes Fragment Transparent
2016-04-01 13:48 685问题:当点击一个EditText的时候,这个控件所在的fr ...
相关推荐
Android中RxJava+Retrofit2.0+MVP模式的整合
使用MVP+Dagger.Android+LiveData+RxJava2.0+Retrofit2.0+OkHttp搭建的项目框架
次文章结合目前主流技术Rxjava 2.0+Retrofit 2.0+Mvp架构 ,欢迎下载
个人写的一个mvp+retrofit2.0 的简单登录demo。希望对刚学习mvp和retrofit的童鞋有帮助。
RxJava整合Retrofit2.0网络框架,将城市天气查询作为一个使用案例
mvp+rxjava2.0+retrofit2.0+realm的一套基础代码,整合起来,若有新项目搭建可以直接套用
android开发框架mvp + rxandroid + Retrofit2.0 + Fresco
android简单实用的Retrofit2.0+OkHttp网络请求Demo,希望可以帮到你
Retrofit2.0+RxJava+MVP+Bmob+XRecyclerView+Glide在android中的使用
Android开发Kotlin代码下的MVP模式+Retrofit2.0+RxJava1.0+Dagger2框架封装,非常适合小白。
超级简单的 高效的 android 网络访问架构 RxJava + retrofit2.0 + json+ okhttp,几行代码就能实现访问网络 并且将数据显示到界面
自己封装的一个retrofit2.0+okhtt3.0+gson+Rxjava网络框架 改改JSON网站和javaBean就好 混淆没什么东西 自己百度一下就行了 就不留 混淆了
Android开发之MVP模式+Retrofit2.0+RxJava1.0+Dagger2框架封装》开发而成,实现了新闻的分类浏览、历史记录、我的收藏以及小视频的播放,新闻数据来源《聚合数据-开发者数据API开放平台》,大家注册个账号就可以免费...
这是一个基于Retrofit2.0 + Okhttp +Gson的一个请求网络的小案例
1.完成一个简单的mvp示例,/model包下的Model_1、/...5.以上步骤已经基本完成P层优化,在Activity每次都要去调用P层中View的绑定和分离,因此自然而然的使用BaseActivity抽象类来完成优化(这里也使用泛型来完成)
在实际运用中上传是一个必不可少的功能,图片上传;RxJava+Retrofit+okhttp上传图片给后台,下载直接使用,更换自己服务器地址。
FastApp 是一个轻量级急速开发框架,基于 Fragment+RxJava+Retrofit 2.0+Glide+Realm 构建,采用 Material Design 设计风格,帮助开发者快速构建轻量级应用。当然,由于本项目是为了说明博客中提到的一些问题,因此...
Retrofit2.0的学习以及Rxjava与Retrofit2的结合使用
此demo使用MVP架构,添加Retrofit2+Rxjava2的网络请求框架,个人觉得这个框架很实用