android OkHttp form 上传图片和参数
使用OkHttp 上传图片一定要使用 post 请求方式 这里使用的是异步的post 请求方式 还是用了HttpLoggingInterceptor 日志监听
权限
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
导入的依赖
implementation 'com.squareup.okhttp3:okhttp:3.12.0'/*这是使用okhttp 的依赖*/
implementation 'com.squareup.okhttp3:logging-interceptor:3.12.0'/*这是添加日志监听的依赖*/
具体代码
public class OkUtils {private OkHttpClient okHttpClient;public OkUtils() {HttpLoggingInterceptor loggingInterceptor = new HttpLoggingInterceptor();okHttpClient = new OkHttpClient.Builder().connectTimeout(20,TimeUnit.SECONDS).readTimeout(20,TimeUnit.SECONDS).callTimeout(20,TimeUnit.SECONDS).addInterceptor(loggingInterceptor).build();}public static OkUtils getInstance(){return OkHolder.okUtils;}static class OkHolder{private static final OkUtils okUtils = new OkUtils();}public void upLoadImage(String murl,String uid,Callback callback){File file = new File(Environment.getExternalStorageDirectory()+"/DCIM/zuiyou/414606767.jpg");// 后面的是要上传图片的地址MultipartBody.Builder body = new MultipartBody.Builder().setType(MultipartBody.FORM).addFormDataPart("uid",uid).addFormDataPart("name","jacke121").addFormDataPart("img","414606767.jpg",RequestBody.create(MediaType.parse("image/jpg"),file));
body.addFormDataPart("value","jacke121");RequestBody body1 = body.build();Request request = new Request.Builder().url(murl).post(body1).build();okHttpClient.newCall(request).enqueue(callback);}
}
Mainactivity 中的代码
OkUtils.getInstance().upLoadImage(mUrl, uid, new Callback() {@Overridepublic void onFailure(Call call, IOException e) {Log.e("onFailure",e.getMessage()+"");//强制在主线程中刷新,不推荐使用,太消耗内存runOnUiThread(new Runnable() {@Overridepublic void run() {Toast.makeText(MainActivity.this, "失败", Toast.LENGTH_SHORT).show();}});}@Overridepublic void onResponse(Call call, Response response) throws IOException {Log.e("onResponse",response.body().string()+"");runOnUiThread(new Runnable() {@Overridepublic void run() {Toast.makeText(MainActivity.this, "成功", Toast.LENGTH_SHORT).show();}});}});
感谢:https://blog.csdn.net/weixin_43564787/article/details/84955176
android OkHttp form 上传图片和参数相关推荐
- android okhttp get 请求带参数
/** * 为HttpGet 的 url 方便的添加多个name value 参数. * @param url * @param params * @return */ public static S ...
- Android okHttp上传图片
今天,简单讲讲Android 使用OK HTTP上传图片. 不废话了,直接上代码: /*** 上传图片* @param url* @param imagePath 图片路径* @return 新图片的 ...
- android http 图片上传,Android okHttp上传图片
今天,简单讲讲Android 使用OK HTTP上传图片. 不废话了,直接上代码:/** * 上传图片 * @param url * @param imagePath 图片路径 * @return 新 ...
- android OKHttp的基本使用详解
今天,简单讲讲Android里如何使用OKHttp. Android框架系列: 一.android EventBus的简单使用 二.android Glide简单使用 三.android OKHttp ...
- Android OkHttp完全解析 是时候来了解OkHttp了
Android OkHttp完全解析 是时候来了解OkHttp了 标签: AndroidOkHttp 2015-08-24 15:36 316254人阅读 评论(306) 收藏 举报 分类: [an ...
- android okhttp使用cookie请求
今天,简单讲讲Android的http使用cookie请求. 现在,做一个功能,出现一个奇怪现象,就是老是登陆成功后,发送请求获取消息,老是提示我没有登陆.我自己都不知道是什么原因,这个也是我对网络通 ...
- Android OkHttp经验小结
OkHttp应该是目前最完善,也是相当流行的一个底层网络请求库.Google都在用,所以有必要深入了解一下,刚好最近在重构公司项目的网络层,就顺便梳理一下. ---–12.29---- 最近暂时没有时 ...
- Android OkHttp 源码解析 - 拦截器
一.前言 看一下 RealCall 中的拦截器排序: Response getResponseWithInterceptorChain() throws IOException {// Build a ...
- Android OkHttp 全面详解
Android OkHttp 全面详解 包的导入 基本使用 异步请求 同步请求 build创建 源码跟踪 newCall RealCall.enqueue Dispatcher.enqueue exe ...
最新文章
- GT Transceiver中的重要时钟及其关系(2)单个外部参考时钟使用模型
- iPhone与Android手机 各个型号的UserAgent
- 电源芯片选择DC/DC还是LDO?《转》
- C++泛型编程实现平衡二叉搜索树AVL
- ios 查询mysql数据库操作系统_iOS数据库FMDB--增删改查(模糊查询)详细介绍
- java 线程不足_jvm - 如何在没有运行缺点的Windows上获取Java进程的线程和堆转储...
- Windows下MySQL的详细安装教程
- css+div(2)
- arcgis js平滑线工具_Arcgis中文字体、平滑线插件使用说明
- 开发移动网页应用的一些技术指导
- Android实现Telnet客户端
- STM32——红外遥控器实验
- 私服游戏怎么选择服务器性能和配置。
- 刷机必备:BlackBerry ROM,桌面管理器下载
- html鼠标自动图片放大,css如何实现鼠标放在图片上时图片放大呢?
- ~ 运算符和 ~~ 运算符(JS)
- HDU-3605 Escape
- 基于SqlServer基本表的插入、修改和删除
- Quartz2D学习记录
- 【Python】基于人脸识别的智能考勤系统(Pyqt5+MySQL+Opencv) [PC端部分-已附源码]
热门文章
- 深入了解Intel保护模式
- 计算机对英语口语考试,计算机辅助高考英语口语考试中题型的设计与交际能力的实现.pdf...
- java的dbhelper类_DBHelper.java(数据库连接类)
- Interview Q A 程序会在哪一行死掉
- 关于伺服驱动控制的课本_西门子伺服电机驱动系列汇总,说明书参数及使用方法。...
- apache自动跳转到服务HTML,apache自动将http协议跳转到https
- mysql configuration_MySQL Configuration 教程
- java 判断今天_Java 判断某个具体时间是否属于当天范围(24H)
- mysql主键更新被锁_MySQL 的加锁处理,你都了解的一清二楚了吗?
- 安全起见,这款 IDEA 插件赶紧删了吧!