2017-11-29 1 views
0

이미지를 기본 64로 변환하고 카메라를 사용하여 서버에 user_image를 업로드해야합니다. 서버에 업로드 한 후 ImageView에 표시해야합니다.이미지를 기본 64 형식으로 변환 한 후 서버에 업로드하는 중입니다. 이미지보기가 동일한 이전 이미지를로드 중입니다

서버에 업로드하면 이미지가 변경되지 않습니다. 응용 프로그램을 닫고 다시 열면 이미지 만 바뀝니다.

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

질문의 형식을 지정하는 방법은 여기를 참조하십시오. https://stackoverflow.com/help/formatting –

답변

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(); 
     } 
    } 
관련 문제