- 浏览: 445387 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (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中文乱码的几种解决办法
如题,使用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 937官网内容: 有如上的几种架构方式,不同的手机使用不 ... -
如何屏蔽HOME,MENU键
2017-05-12 13:40 1131如何屏蔽HOME,MENU键,找了很多答案,下面就是几种办法 ... -
EditText光标随着输入移动
2017-04-26 09:35 1774当前需求如下:点击一个按钮,弹出自定义的键盘,同时输入框内 ... -
调用DialogFragment出现的Can not perform this action after onSaveInstanceState
2017-04-24 09:13 1992代码里面用如下的业务场景:进页面并判断是否签到,没有签到就跳转 ... -
使用自定义的Launcher.apk替代系统的
2017-04-23 08:54 10531.首先使用adb shell命令 ... -
Android避免重复提交的问题
2017-04-06 12:08 713关于某些控件,多次点击导致的重复提交问题,我汇总如下: 1. ... -
百度定位 WIFI正常 电信3G出错;Error Code:62
2016-12-22 09:29 1110使用一款4.3系统的手机,在开发过程中发现如下的问题 1.W ... -
关于CPU ABI的一些零碎
2016-08-17 15:18 671首先是一篇文章 关于SO文件你应该知道的 http://ph0 ... -
防止Activity被销毁以后fragment依然存在的问题
2016-08-11 15:49 0App被切换到后台以后,当前的Activity的生命周期 ... -
使用PullToRefreshListView下拉和加载代码
2016-08-05 10:55 1311//三个参数 private int pageNo = ... -
Android连接服务端出现中文乱码的问题
2016-08-01 15:46 598这个是常见问题,我给出我的排查和解决办法。 前提条件 ... -
TextInputLayout的使用
2016-06-14 14:39 1050使用AS发现模板下的 ... -
Android项目代码Inspect Code的各种问题以及集合
2016-05-31 10:22 0一个android项目,使用inspect code,居 ... -
使用Apollo And Mosquitto 作为MQTT Server
2016-05-13 09:56 9007始于环信的消息推送,了解了下目前的几种推送模式,XMP ... -
环信项目分析之2
2016-05-10 14:56 872第二篇主要介绍一下服务端如何与环信进行交互, 环信的官网 ... -
Jersy之路1
2016-05-09 22:00 583关于Jersey2.X 就不巴拉巴拉说这么多废话了。 ... -
环信项目分析之1
2016-05-09 21:32 769系列文章主要是用于分析环信的APP,消息推送等功能。 基 ... -
Okhttp3 学习历程之一
2016-04-27 10:43 1720最近想把一个简单的安卓APP重写一下,写的过程中就涉及到 ... -
Clicking on EditText Makes Fragment Transparent
2016-04-01 13:48 721问题:当点击一个EditText的时候,这个控件所在的fr ...
相关推荐
在Android应用开发中,使用RxJava、Retrofit2.0和MVP(Model-View-Presenter)模式的组合,可以构建出高效、可维护且易于测试的代码结构。以下是关于这三个技术及其整合的关键知识点: **RxJava** RxJava是Reactive...
本篇将深入探讨基于`Retrofit2.0`和`MVP`架构的登录Demo,旨在为初学者提供一个清晰的理解和实践指南。`Retrofit`是一款优秀的网络请求库,它使得Android开发者能够方便地进行网络交互,而`MVP`(Model-View-...
本项目采用了MVP(Model-View-Presenter)设计模式,结合Dagger.Android进行依赖注入,利用LiveData进行数据观察,以及RxJava2.0和Retrofit2.0+OkHttp进行网络请求处理,构建了一个强大的框架体系。 首先,MVP...
在Android开发中,Retrofit和RxJava是两个非常流行的库,它们分别负责网络请求和异步数据处理。本文将深入探讨如何将RxJava与Retrofit2.0整合,以实现高效、灵活的网络请求,特别是在处理城市天气查询这类实时性较强...
在Android开发中,构建高效的网络访问架构至关重要,而"RxJava + Retrofit2.0 + OkHttp + JSON + GreenDao + Android Studio"的组合提供了一种高效、简洁的解决方案。让我们详细了解一下这些技术栈的关键知识点。 *...
MVP模式保证了代码结构清晰,RxAndroid简化了异步操作,Retrofit2.0使网络请求变得简单,而Fresco则提供了优质的图片处理能力。通过"Retrofit2.0Demo"这个项目文件,开发者可以学习如何将这些组件集成到实际项目中,...
在Android开发领域,RxJava 2.0、Retrofit 2.0 和 MVP(Model-View-Presenter)架构是常见的组合,它们各自扮演着重要的角色,以提高代码的可读性、可维护性和测试性。下面我们将深入探讨这三个技术及其在实际项目中...
在Android开发中,Retrofit2.0和OkHttp是两个非常重要的网络库,它们结合使用可以构建出高效、简洁的网络请求解决方案。本教程将深入探讨Retrofit2.0和OkHttp在网络请求中的应用,以及如何在实际项目中实现一个简单...
在Android开发中,Retrofit2.0、OkHttp3.0、Gson和RxJava是四个非常关键的库,它们组合在一起可以构建出强大的网络请求框架。以下将详细阐述这四个库的功能及其整合使用的方式。 **Retrofit2.0** 是Square公司推出...
Android开发之MVP模式+Retrofit2.0+RxJava1.0+Dagger2框架封装》开发而成,实现了新闻的分类浏览、历史记录、我的收藏以及小视频的播放,新闻数据来源《聚合数据-开发者数据API开放平台》,大家注册个账号就可以免费...
在Android开发中,Retrofit2.0、RxJava、MVP、Bmob、XRecyclerView以及Glide都是常用的技术框架和库,它们各自有着独特的功能,同时也常被组合使用以提高应用的性能和开发效率。 首先,Retrofit2.0是Square公司推出...
在Android开发中,MVP(Model-View-Presenter)架构模式、RxJava 2.0、Retrofit 2.0 和 Realm 是四个重要的组件,它们分别处理应用的结构设计、异步编程、网络请求和本地数据存储。接下来,我们将详细讨论这些技术...
在Android应用开发中,组合使用Kotlin、MVP(Model-View-Presenter)设计模式、Retrofit2.0网络库、RxJava1.0响应式编程框架以及Dagger2依赖注入框架,是一种常见的高效开发方式。这篇内容将深入探讨这些技术在实际...
1.完成一个简单的mvp示例,/model包下的Model_1、/...5.以上步骤已经基本完成P层优化,在Activity每次都要去调用P层中View的绑定和分离,因此自然而然的使用BaseActivity抽象类来完成优化(这里也使用泛型来完成)
在Android开发中,Retrofit2.0是一款非常流行的网络请求库,它由Square公司开发,设计简洁、易于使用,能够方便地将网络接口转换为Java接口。本项目"Retrofit2.0 Demo"是一个实际应用示例,结合了Okhttp作为网络底层...
本文将深入探讨如何使用Retrofit2.0实现单文件和多文件的上传,包括客户端(即Android应用)和服务器端的实现细节。 ### 1. Retrofit2.0简介 Retrofit是由Square公司开发的一款类型安全的HTTP客户端,它允许开发者...
经过研究和实践,本文将总结 Retrofit2.0 实现图文(参数+图片)上传方法。 一、定义网络请求接口 在 Retrofit2.0 中,定义网络请求接口需要使用 @Multipart 注解,用于文件上传。下面是一个示例接口: ```java ...
在Android开发中,MVP(Model-View-Presenter)架构模式、Retrofit网络库和RxJava响应式编程库是常用的技术栈,它们可以协同工作,提高应用的可维护性和代码组织性。以下是对这些技术的详细说明: 1. MVP架构模式:...
针对这些问题,用户可以尝试一些基本的解决方法,如清除应用缓存和数据、降低屏幕亮度、关闭没有使用的连接和传感器、限制后台运行的应用、删除不需要的文件和应用等。 随着Android系统的不断发展,其功能和性能也...