使用Okhttp3提示缺失okio依赖,添加okio jar包后报错仍未解决
OkHttp依赖错误解决方案
错误本质
你遇到的编译错误是OkHttp与配套依赖Okio的版本不匹配导致的,并非没有引入Okio库。OkHttp不同版本对Okio的版本有严格要求,版本不对应时就算导入了Okio也无法识别到所需类。
解决步骤
- 首先清理项目中已导入的所有OkHttp、Okio jar包,避免版本残留冲突
- 根据你要使用的OkHttp版本下载对应匹配的Okio版本:
- OkHttp 3.12.x及以下版本:配套Okio 1.15.x及以上版本
- OkHttp 3.13.x~3.14.x版本:配套Okio 1.17.x及以上版本
- OkHttp 4.x全版本:配套Okio 2.x及以上版本
- 将匹配版本的两个jar包重新导入项目,执行项目依赖刷新操作
- 检查代码逻辑:你当前代码中
new File("")的路径参数为空,需替换为你本地要上传的图片的完整绝对路径,否则运行时会触发文件不存在错误
修正后的代码示例
// 替换为你本地图片的实际路径 File targetImage = new File("C:/Users/xxx/Pictures/test.png"); RequestBody requestBody = new MultipartBody.Builder() .addFormDataPart("new", "This is my new TODO") .addFormDataPart("image", "attachment.png", RequestBody.create(targetImage, MediaType.parse("image/png")) ) .setType(MultipartBody.FORM) .build();
内容的提问来源于stack exchange,提问作者parakeet
相关产品推荐
相关产品推荐

