我必须将Image转换为base 64并使用camera将user_image上传到服务器。上传到服务器后,我要显示的是ImageView。
上传到服务器后,图像不会改变。当我关闭应用程序并再次打开时,只有它正在更改图像。
public void onCropImageClick()
{
Bitmap cropped = mCropImageView.getCroppedImage(550, 550);
if (cropped != null)
//this is imageView
user_imageView.setImageBitmap(cropped);
//here i am converting image to base64 ByteArrayOutputStream stream = new
ByteArrayOutputStream();
cropped.compress(Bitmap.CompressFormat.JPEG, 100, stream);
base64Image = Base64.encodeToString(stream.toByteArray(), 0);
// here I am upload image into server
sendImageUrl(base64Image);
}
public void sendImageUrl(String base64Image) {
// progress_bar.setVisibility(View.VISIBLE);
System.out.println("Image profile came here:4 sendImageUrl");
uploadImage(base64Image);
}
答案 0 :(得分:0)
我有一个解决方案。 我是Glide和Picasso图像加载器的问题。
在将图像设置为图像视图之前,我们每次都需要清除缓存。
在添加图片之前添加此内容
CacheClearAsyncTask task = new CacheClearAsyncTask();
task.execute();
class CacheClearAsyncTask extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... params) {
Glide.get(getApplicationContext()).clearDiskCache();
return null;
}
@Override
protected void onPostExecute(Void result) {
Glide.get(getApplicationContext()).clearMemory();
}
}