将图像转换为基本64格式后将图像上传到服务器。图像视图正在加载相同的旧图像

时间:2017-11-29 17:17:46

标签: android image bitmap base64

我必须将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);
}

1 个答案:

答案 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();
        }
    }