2017-09-19 17 views
0

Fresco 라이브러리를 사용하여 Android 앱에 이미지를 표시하고 있습니다. 공공 보조금으로 설정 한 일부 이미지 (jpg 또는 png)를 표시하고 싶습니다.Android에서 드라이브의 이미지를 표시합니다.

신속한 테스트를 수행 할 때 인터넷에서 URL을 설정하기 위해 이미지를 가져 왔지만 사용해야 할 실제 이미지를 사용할 때는 다음 URL이 있습니다. https://drive.google.com/uc?export=view&id= <> 리디렉션이므로 리디렉션되면 새 URL은 이미지 자체가 아니므로 프레스코에서 표시 할 수 없습니다.

필자는 Picasso를 대안 라이브러리로 사용해 보았지만 성공하지 못했습니다.

나는 또한 두 라이브러리 (https://drive.google.com/uc?export=download&id= <>)에 대한 다운로드 URL을 시도했습니다. 그러나 결과는 없습니다.

누구나 어떻게이 이미지를 얻을 수 있는지 알고 있습니까? 또는 유일한 해결책은 객체를 처리하는 두 번째 URL을 사용하여 다운로드하여 저장 한 비트 맵을 저장하고 표시하는 것입니다.

다운로드하려면 어떻게 사용하고 어떻게해야합니까? 개조?

미리 감사드립니다.

답변

0

나는이 문제에 대한 해결책을 발견 (하지만 당신은 Google 클라우드 또는 Google 스크립트를 사용하는 경우에만 적용 할 수있다).

var file = DriveApp.getFileById(fileId) 
return Utilities.base64Encode(file.getBlob().getBytes()); 

을하고 앱에서 base64로 값을 사용

은 내부에 다음 코드와의 doGet() 서비스를 만드는 구성되어 있습니다. 이 형식으로 Fresco는 마법을 쓸 수 있습니다

이것은 즉각적인 해결책이 아니며 Android 앱이 아닌 다른 플랫폼에서 수행해야하지만 완벽하게 작동합니다.

0

URL에 문제가없는 것이 확실합니까?

     Picasso.with(this) 
          .load(url) 
          .noFade() 
          .placeholder(R.drawable.placeholder_grey) //if you want to use a stub 
          .into(imageView, new com.squareup.picasso.Callback() { 
           @Override 
           public void onSuccess() { 
            //here you can operate with image after it is downloaded 
           } 

           @Override 
           public void onError() { 

           } 
          }); 

그것은 당신을 도울 것입니다 희망 : 그럼 당신은 같은 이미지를 다운로드 할 수 있습니다 https://kudago.com/media/images/place/06/66/06662fda6309ce1ee9116d13bd1c66d5.jpg

: 피카소 같은 직접 URL을 사용할 수 있습니다.

+0

URL에 문제는 없습니다. 이미지를 Google 드라이브에 업로드하면 이미지에 직접 URL이 제공되지 않으므로 직접 액세스 할 수 없습니다. 나는이 문제에서 발견 된 해결책 아래에 게시했다. (비록 몇몇 스크립트는 Google Script를 던져야하지만 ....) –