OkHttp上传文件和图片操作

本文介绍了如何使用OkHttp进行文件和图片的上传操作,包括获取文件路径、添加读写权限、导入依赖等步骤。重点讲解了创建RequestBody,通过MultipartBody将文件上传到指定接口,并展示了如何在后台线程中处理返回的响应,利用Gson解析结果,并在主线程中展示上传成功的图片。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1:首先你得找到文件上传的路径;需要提前将文件准备好

2:添加读写权限

  <uses-permission android:name="android.permission.INTERNET" />

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

3:导入依赖
4:如下:如果文件不存在则提示文件不从在file.separator是斜杠的意思在这里插入图片描述
5:如下:首先是文件的类型,和将文件放入requestbody中再将其放入muitipartbody中然后将其放入okhttp的post请求中此接口为固定不用理会,上传接口:http://yun918.cn/study/public/file_upload.php在这里插入图片描述
6:进入子线程中进行操作,将其转换为gson解析过后的string在这里插入图片描述
7:然后进入主线程,将gson转换为data值,用data值获得res吐丝
requestoptions为圆形图片,若要将文件中的图片显示到view上需要一个封装类(具体看8:)
apply是存入圆形图片的将其添加到glide中与图片一起显示
在这里插入图片描述
8:如下是上传文件的类,可以将图片放入其中然后通过glide进行显示图片
public class OkHttpBean {
/**
* code : 200
* res : 上传文件成功
* data : {“url”:“http://yun918.cn/study/public/uploadfiles/1908A/a12.jpg”}
*/

private int code;
private String res;
private DataBean data;

public int getCode() {
    return code;
}

public void setCode(int code) {
    this.code = code;
}

public String getRes() {
    return res;
}

public void setRes(String res) {
    this.res = res;
}

public DataBean getData() {
    return data;
}

public void setData(DataBean data) {
    this.data = data;
}

public static class DataBean {
    /**
     * url : http://yun918.cn/study/public/uploadfiles/1908A/a12.jpg
     */

    private String url;

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值