当前位置: 首页 > news >正文

济源市网站建设培训网页

济源市网站建设,培训网页,高端网站建设套餐,wordpress+分页静态一、背景 一般上传文件都是以表单形式上传文件,最近项目中涉及到非表单形式上传文件流,分为单个文件流上传、大文件分段上传,此种情景资料较少,这里记录下。 二、方案介绍 2.1 需求协议 1. 上传文件 API 端点:/serv…

一、背景

一般上传文件都是以表单形式上传文件,最近项目中涉及到非表单形式上传文件流,分为单个文件流上传、大文件分段上传,此种情景资料较少,这里记录下。

二、方案介绍

2.1 需求协议
1. 上传文件
API 端点:/service/upload
● 方法:PUT
● 请求参数:○ filename:文件名(必选)
○ 请求头:○ Authorization:用于身份验证的 token(必选)○ X-Request-ID:请求的唯一标识符(必选)○ Upload-Offset:当前上传块的偏移量(必选)■ 单位:byte○ Upload-Type:文件上传方式(必选)■ 1 上传到相册(/storage/emulated/0/Pictures/)■ 2 上传到sdcard(/sdcard/)
○ 请求体○ 文件二进制数据
2.2 定义接口
格式:http://example.com/api/upload?filename=example.txt所以应该这样定义接口:@PUT("/service/upload")
RequestBody): Call<ResponseBody>fun uploadFile(@Query("filename") filename:String,  @Body body: RequestBody):Call<ResponseBody>
2.3 定义一个RequestInterceptor 迭代器,将请求参数放到请求头中
class RequestInterceptor(val authorization:String,val requestId:String,val offset:String,val uploadType:String) : Interceptor {override fun intercept(chain: Interceptor.Chain): Response {val request = chain.request()val requestBuilder = request.newBuilder()requestBuilder.addHeader("Authorization", authorization)requestBuilder.addHeader("X-Request-ID", requestId)if(offset.isNotEmpty()){requestBuilder.addHeader("Upload-Offset", offset)}if(uploadType.isNotEmpty()){requestBuilder.addHeader("Upload-Type", uploadType)}//        requestBuilder.removeHeader("Content-Length")
//        requestBuilder.removeHeader("Content-Transfer-Encoding")
//        requestBuilder.removeHeader("Content-Disposition")return chain.proceed(requestBuilder.build())}
}

2.4调用接口
      // 创建文件名请求体val requestBody = RequestBody.create(null, file)//第一个参数传nullval call = RetrofitClient.getUploadFileService(token, requestId, "0", uploadType).uploadFile(file.name, requestBody)

 

用到的相关库:

   implementation 'com.squareup.retrofit2:retrofit:2.9.0'implementation 'com.squareup.retrofit2:converter-gson:2.9.0'implementation 'com.squareup.okhttp3:logging-interceptor:3.14.9'

http://www.hotlads.com/news/4981.html

相关文章:

  • 网站建设培训费用如何在百度做免费推广产品
  • 桥头镇做网站合肥seo搜索优化
  • 北京上海网站建设公司俄罗斯引擎搜索
  • 做网站推广 seo的济南网站建设方案
  • 网站建设和Java北京网站优化seo
  • 个人做外贸网站数据分析培训
  • 成都网站公司百度搜索排名服务
  • wordpress中文分词黑锋网seo
  • wordpress 投稿 图片百度seo推广免费
  • 个人电商网站建设范例福州网站优化
  • 网站建设 趋势营销方案范文100例
  • 赣州企业网关键词排名关键词优化
  • 佛山做外贸网站的网络营销整合推广
  • 忽悠别人做商城网站地推app
  • 网站正能量免费推广软件晚上百度快照搜索
  • 如何做好网站内更新网站排名查询工具
  • 网站注册表单怎么做站长之家域名查询官网
  • 南山企业网站建设今日足球赛事推荐
  • 网站制作策划建设大纲搜索引擎优化方法与技巧
  • 有哪些做简历的网站旅游产品推广有哪些渠道
  • 胶州专业网站建设公司湖南关键词网络科技有限公司
  • 帝国cms收费吗windows优化
  • 做淘宝有哪些推广网站企业seo网站推广
  • 网站建设 目标网络seo推广培训
  • 网站开发 保密期限中国十大搜索引擎网站
  • 萝岗电子商务网站建设北京seo案例
  • 凡科平台登录平台沈阳seo优化排名公司
  • 做网站需要会什么九个关键词感悟中国理念
  • 找做金融的网站有哪些方面seo搜索引擎排名优化
  • 网站设计批发宁波seo优化公司排名