使用Picasso调整图像大小并添加到HttpPost

时间:2017-06-12 16:21:17

标签: java android http picasso

使用Picasso调整图像大小并使用HttpPost上传图像的最佳方法是什么。

Bitmap bmp = Picasso.with(context)
                    .load(path)
                    .resize(1000, 1000)
                    .centerInside()
                    .onlyScaleDown()
                    .get();

MultipartEntity entity = new MultipartEntity();
entity.addPart("image", new FileBody(file));

实现这一目标的最佳方式(记忆)是什么?

澄清:现在我正在做

  • 位图b = Picasso.resize()。get();

  • 创建新文件

  • 将位图b写入文件

  • 在HttpPost中包含文件

我正在寻找是否有更有效的方式

1 个答案:

答案 0 :(得分:2)

你可以这样做:

&

但据我所知,Android上的HttpClient 已弃用,我建议使用OkHttp3库发出HTTP请求。

示例:

Bitmap bmp = Picasso.with(context)
                .load(path)
                .resize(1000, 1000)
                .centerInside()
                .onlyScaleDown()
                .get();

ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);

HttpEntity entity = MultipartEntityBuilder.create()
        .addBinaryBody("image", new ByteArrayInputStream(stream.toByteArray()), ContentType.create("image/png"), "filename.png")
        .build();