首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Retrofit2 & RxJava2实现单文件和多文件上传

    Retrofit2 是目前Android开发主流的网络库,RxJava2也是目前开发者使用的比较多用来更优雅实现异步的库,因为最近业务需求有用到这两个库,就简单分享下它的一个实际使用场景—上传文件 [TOC...定义上传文件接口 /** * 上传API....,@Url表示这是个请求地址,@Body表示这是请求体,关于Retrofit的各种注解的使用这里不多说,大家可以自行了解。...* * @param file 文件 * @param requestBody 请求体 * @return MultipartBody */...总结 通篇代码实现很多,但可以看到使用Retrofit2和RxJava2的结合起来使用还是挺方便的,再也不用自己去控制线程的切换了,也不用去关注http的具体实现,少写了不少代码,实现起来也优雅不少,希望这篇文章能帮助到大家

    3K40

    什么骚操作,用Android能写后台服务?

    Web server and Web framework of Android platform....Android平台的Web服务器和Web框架。它提供类似SpringMVC的注释,如果您熟悉SpringMVC,您可以很快地掌握它。 静态html网站部署。 动态http api部署。...---- 功能介绍 本模版项目主要使用AndServer提供的服务搭建,内置常用的基础模块,功能如下. 统一的请求日志记录。 全局异常捕获处理,返回统一API结果。 增加全局权限验证拦截器。...返回Json格式 { "code":0, //响应码,0为成功,否则失败 "msg":"", //请求失败的原因说明 "data":{} //返回的数据对象 } 集成说明...AndServer 一个HTTP和反向代理服务器 XHttp2 一个功能强悍的网络请求库,使用RxJava2 + Retrofit2 + OKHttp组合进行封装。

    1.4K20

    Retrofit2与服务端实例讲解

    ,这一方面是因为网络上的免费API接口返回的数据格式和访问模式(一般都只能使用 Get 模式)有限制,另一方面是因为并不是每位开发者都会写服务端接口。...,返回的数据格式有 Json 对象和 Json 数组,需要的参数格式可以由使用者来自由定义 本篇文章不会对 Retrofit2 的用法进行过多介绍,重点在于介绍服务端接口的搭建以及 Retrofit2...创建的工程目录如下所示,除了选中的三个文件之外,其它都是 IDE 自动为我们构建的,upload 文件夹用于存放客户端上传来的文件,resultJson.js 文件用于统一服务端返回的数据格式,api.js..., '系统错误'); }; resultJson.js 对网络请求的各种可能结果进行了封装,统一了服务端返回的数据格式。...方法,返回的数据格式如下所示 {"code":1001,"msg":"参数错误"} 其他非正常情况下返回的数据格式相同,仅仅是包含的返回码和返回信息值不同而已 1.2、api.js api.js 文件包含了所有接口

    2.3K30

    【转-干货】Retrofit2.0使用总结及注意事项

    Retrofit是由Square公司出品的针对于Android和Java的类型安全的Http客户端,如果看源码会发现其实质上就是对okHttp的封装,使用面向接口的方式进行网络请求,利用动态生成的代理类封装了网络接口请求的底层...,其将请求返回javaBean,对网络认证 REST API进行了很好对支持此,使用Retrofit将会极大的提高我们应用的网络体验。...更多关于REST的介绍:什么是REST - GitHub讲解的非常详细 2.0与1.9使用比较 如果之前使用过Retrofit1,会发现2.0后的API会有一些变化, 比如创建方式,拦截器,错误处理,转换器等...,其中@Part MultipartBody.Part代表文件,@Part(“key”) RequestBody代表参数,需要添加@Multipart表示支持文件上传的表单,Content-Type:...无网读缓存,有网根据过期时间重新请求 用 Retrofit 2 简化 HTTP 请求 Retrofit请求参数注解字段说明 Android文件存储使用参考 - liaohuqiu Retrofit+RxJava

    6.1K30

    Android MVP+RxJava+Retrofit (2) RxJava+Retrofit

    的接口 Retrofit将 Http请求 抽象成 Java接口:采用 注解 描述网络请求参数 和配置网络请求参数 public interface Api { @FormUrlEncoded...的数据,每个键值对需要用@Filed来注解键名,随后的对象需要提供值 @Multipart 请求体是一个支持文件上传的表单数据 表示发送form-encoded的数据(适用于 有文件 上传的场景),...,与@Field的区别:功能相同,但携带的参数类型更加丰富,包括数据流,所以适用于 有文件上传 的场景,与 @Multipart 注解配合使用 实例2 上传文件 一定要使用 Multipart 关于文件...thumb); } 创建Retrofit 实例 上传文件+字段的时候 必须变为RequestBody 参数 方可才能上传 Retrofit retrofit2 = new Retrofit.Builder...如果使用Observable那就必须添加这个配置。否则就会请求的时候就会报错!

    1.1K30

    springboot配合retrofit上传图片文字 完整教学

    为了验证,我特意用fiddler模拟了一次文件上传请求。 请求中要上传的信息有:{"auth": "qq", "openId": "...", "accessToken": "......学习retrofit上传文件的方法 可以先看看Retrofit2 multpart多文件上传详解和Retrofit实现文件上传(二) 接口设置可以分为以下几种: 使用@Multipart 使用@PartMap...} 这里的参数不能是@RequestBody UploadRequestBody body,否则会报org.springframework.web.HttpMediaTypeNotSupportedException...: Content type 'multipart/form-data;boundary=... not supported错误 原因: 使用在进行图片或者文件上传时 multipart/form-data...[额外问题] 设置springboot文件传输大小的限制 springboot的文件上传大小默认限制为1MB, 当传输较大的图片时,可能会有以下错误: org.apache.tomcat.util.http.fileupload.FileUploadBase

    2.5K50

    Android使用Retrofit进行网络请求及和Kotlin结合使用

    FromUrlEncoded使用 @Part 用于表单字段,Part和PartMap与@multipart注解结合使用,适合文件上传的情况 @PartMap 用于表单字段,默认接受类型是MapRequestBody>,可用于实现多文件上传 @Path 用于Url中的占位符 @Query 用于Get请求中的参数 @QueryMap 与Query类似,用于不确定表单参数 @Url 指定请求路径...数据(使用于有文件上传的场景),每个键值对需要用@Part来注解键名,随后的对象需要提供值 @Streaming 表示响应用字节流的形式返回,如果没有使用注解,默认会把数据全部载入到内存中,该注解在下载大文件时特别有用...file.exists()) { file.mkdir(); } //将文件转化为RequestBody对象 //需要在表单中进行文件上传时,就需要使用该格式:multipart/form-data...新版本的Retrofit已经可以方便使用Kotlin的协程。

    3.9K11

    从零开始实现一个 mini-Retrofit 框架

    一个Class对象表示响应的Json数据对应的Model,以便在内部使用Gson来解析,以及网络请求的异步回调 NetCallback 我们不直接使用OkHttp提供的Callback 而是在内部简单的做了封装转换成项目自己的...通过简单的一个实现,我们成功验证了使用注解加动态代理的方式实现一个声明式的网络请求框架是可行的,那么后续我们需要继续完善这个项目,提供对更多请求方式 以及参数的支持 对于其他请求方式的支持,我们可以添加更多的表示请求方式的注解...ConverterFactory,该工厂类负责根据传入的Type类型,返回一个能够将该Type类型的对象转换成RequestBody的Converter 我们对Retrofit的构造函数以及paresePost...继续回到Http请求的声明中,目前我们方法所支持的返回类型都是OKHttp的Call对象,而Call对象从使用上来说,目前还是有些繁琐,原生的Call对象返回的是ResponseBody还需要开发者自己处理并做转换...JavaBean对象作为方法的返回值,但是这个设想存在这样几个问题 要实现直接返回Http结果则方法调用是同步调用,如果在主线程做IO请求肯定是不合理的 如果内部IO异常了,或者JSON转换失败了方法返回的是什么呢

    2.3K10

    Spring BootSpring MVC核心注解深度解析

    —知识点专栏— 本文将对Spring Boot和Spring MVC框架中最核心、最高频使用的15个注解进行深度剖析。...它专门用于构建 RESTful API,其方法返回值(如Java对象、集合)会被自动转换为JSON或XML格式,直接写入HTTP响应体。...@RequestBody 与 @ResponseBody: 请求体与响应体的转换 @RequestBody: 用于读取HTTP请求体的内容,并使用HttpMessageConverter将其反序列化(如从...@RequestPart: 处理文件上传 用于将multipart/form-data请求中的某个**部分(Part)**的数据绑定到方法参数上,通常用于文件上传。...在未来的Spring版本中,更多的功能将以函数式编程和Kotlin/Coroutines的形式出现,但这些核心的注解仍将是Java Spring开发的主流范式。

    27910

    《Kotin 极简教程》第14章 使用 Kotlin DSL第14章 使用 Kotlin DSL《Kotlin极简教程》正式上架:

    这样,我们 也可以使用 Kotlin来先传统意义上的 HTML 页面了。 Kotlin Web 编程将会更加简单纯净。...OkHttp 是一个成熟且强大的网络库,在Android源码中已经使用OkHttp替代原先的HttpURLConnection。...url method 请求方法,例如 Get、Post 等,不区分大小写 body 请求头,为了简单起见我们直接使用 OkHttp的RequestBody类型 timeout 超时时间ms,我们设置了默认值是...: (Throwable) -> Unit) 请求失败回调函数 http 执行引擎 我们直接调用 OkHttp 的 Http 请求 API private fun call(wrap: HttpRequestWrapper...Kotlin 的扩展函数和高阶函数(Lambda 表达式),为定义Kotlin DSL提供了核心的特性支持。 使用DSL的代码风格,可以让我们的程序更加直观易懂、简洁优雅。

    2.6K10

    Android 语音通知接口开发指南:移动端 App 快速接入语音消息 API

    在移动端App开发中,集成Android语音通知接口是实现语音消息触达用户的核心需求,但多数开发者常会陷入参数校验失败、请求方式适配错误、错误码排查低效等问题,导致接口接入周期从数天缩短至数小时的目标难以实现...、动态密码生成时时间戳格式错误,直接返回400/405错误;错误码排查低效:开发者对4072(模板格式不匹配)、4052(IP备案不符)等错误码对应的问题场景不熟悉,调试效率低;跨版本适配问题:Android6.0...1.2高效接入的核心原则要解决上述问题,接入Android语音通知接口需遵循三个核心原则:先吃透接口规范,明确请求方式、参数格式、字符编码等基础要求;封装通用请求工具类,统一处理参数校验、签名生成与错误码解析...2.2关键参数的核心规则以行业常用的语音通知服务为例,Android语音通知接口,其核心参数需重点关注以下规则:account/password:即APIID与APIKEY,需从服务商控制台获取,缺失返回...401(帐号不能为空),错误返回405(用户名或密码不正确);mobile:仅支持11位手机号(1398888)或{区号}{号码}格式固话,格式错误返回406;content/templateid:使用模板变量方式时

    9210
    领券