码迷,mamicode.com
首页 > 移动开发 > 详细

Android必知必会-使用okhttp的PUT方式上传文件

时间:2016-03-21 14:14:55      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:

背景

公司的文件上传接口使用PUT协议,之前一直用的都是老项目中的上传类,现在项目中使用了okhttp网络库,就查了下资料,在这里分享一下。

代码实现

    /**
     * @param mediaType MediaType
     * @param uploadUrl put请求地址
     * @param localPath 本地文件路径
     * @return 响应的结果 和 HTTP status code
     * @throws IOException
     */
    public String put(MediaType mediaType, String uploadUrl, String localPath) throws IOException {
        File file = new File(localPath);
        RequestBody body = RequestBody.create(mediaType, file);
        Request request = new Request.Builder()
                .url(uploadUrl)
                .put(body)
                .build();
        Response response = client.newCall(request).execute();
        return response.code()+ ":" + response.body().string() ;
    }

    //上传JPG图片
    public String putImg(String uploadUrl, String localPath) throws IOException {
        MediaType Image = MediaType.parse("image/jpeg; charset=utf-8");
        return put(Image, uploadUrl, localPath);
    }

可能还需要进行的设置:修改各种Timeout

OkHttpClient client = new OkHttpClient();
client.setConnectTimeout(30, TimeUnit.SECONDS);
client.setReadTimeout(15, TimeUnit.SECONDS);
client.setWriteTimeout(30, TimeUnit.SECONDS);

PS:以上代码基于okhttp-2.7.2,其他版本未测试,理论上是通用的。

总结

以上是最基本的代码实现,你还可以加上自己的各种监听。
下面是okhttp其他方面更加详细的介绍:

GitHub:okhttp
Android必知必会-使用okhttp的PUT方式上传文件
OkHttp使用教程

Android必知必会-使用okhttp的PUT方式上传文件

标签:

原文地址:http://blog.csdn.net/ys743276112/article/details/50945271

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!