Java 使用毕加索调整图像大小并添加到HttpPost
使用毕加索调整图像大小并使用HttpPost上传图像的最佳方法是什么Java 使用毕加索调整图像大小并添加到HttpPost,java,android,http,picasso,Java,Android,Http,Picasso,使用毕加索调整图像大小并使用HttpPost上传图像的最佳方法是什么 Bitmap bmp = Picasso.with(context) .load(path) .resize(1000, 1000) .centerInside() .onlyScaleDown() .get(); Multip
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中包含文件
我正在寻找是否有一种更有效的方法你可以用这种方法: 位图bmp=Picasso.with(上下文) .加载(路径) .调整大小(10001000) .centerInside() .onlyScaleDown() .get(); ByteArrayOutputStream=新建ByteArrayOutputStream(); compress(bitmap.CompressFormat.PNG,100,流); HttpEntity=MultipartEntityBuilder.create() .addBinaryBody(“image”、new ByteArrayInputStream(stream.toByteArray())、ContentType.create(“image/png”)、“filename.png”) .build(); 但是,据我所知,ApacheHttpClient在Android上已被弃用,我建议使用该库进行HTTP请求 例如:
Bitmap Bitmap=Picasso.with(上下文)
.加载(路径)
.调整大小(10001000)
.centerInside()
.onlyScaleDown()
.get();
ByteArrayOutputStream=新建ByteArrayOutputStream();
compress(bitmap.CompressFormat.PNG,100,流);
RequestBody RequestBody=新的MultipartBody.Builder()
.addFormDataPart(“image”、“filename.png”、RequestBody.create(MediaType.parse(“image/png”)、stream.toByteArray())
.build();
Request Request=newrequest.Builder()
.url(“https://example.com")
.post(请求主体)
.build();
OkHttpClient=新的OkHttpClient();
client.newCall(request).enqueue(new Callback()){
@凌驾
公共void onFailure(调用调用,IOE异常){
//处理失败
}
@凌驾
public void onResponse(调用调用、响应响应)引发IOException{
//处理服务器响应
}
});