7

이미지를 저장하기 위해 blobstore를 사용하는 프로세스가 데이터 저장소에 BLOB 키를 저장하는 것으로 끝나는 것을 상상해보십시오. 내 백엔드에 있어야하는 다음 코드에서 이미 BLOB 키가 있기 때문에 리디렉션 URL이 필요한 이유는 무엇입니까? 데이터 저장소에 blob 키를 저장 한 다음 반환하는 이유는 무엇입니까? 구글은 다른 서비스에 이미지를 저장하기 때문에 https://developers.google.com/appengine/docs/java/blobstore/overview#Complete_Sample_Appblobstore 업로드 코드가 URL을 리다이렉트하는 이유

+2

데이터 저장소에 BLOB 키를 저장하려고합니다. 데모는 데모 용으로 클라이언트 브라우저를 업로드 된 파일의보기로 보냅니다. 그걸 복사 할 필요가 없습니다. – dragonx

+2

@dragonx, 아마도 당신은 그 일을하는 사람입니다. 일단 적절한 지식을 가진 사람이 blobstore-android-endpoint에 관한 이러한 질문을 한 번 쉬면 좋을 것입니다. – kasavbere

답변

5

(뿐만 아니라 피카사에서 사용) :

public class Upload extends HttpServlet { 
    private BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService(); 

    public void doPost(HttpServletRequest req, HttpServletResponse res) 
     throws ServletException, IOException { 

     Map<String, BlobKey> blobs = blobstoreService.getUploadedBlobs(req); 
     BlobKey blobKey = blobs.get("myFile"); 

     if (blobKey == null) { 
      res.sendRedirect("/"); 
     } else { 
      res.sendRedirect("/serve?blob-key=" + blobKey.getKeyString()); 
     } 
    } 
} 

이 코드는 튜토리얼입니다. 목표는 저장소를 최적화하고 개발자가 이러한 이미지를 쉽게 조작 할 수있는 도구를 제공하는 것입니다.

당신이 무엇을 할 수 있는지 확인하기 위해 문서에서이 참조를 참조하십시오 https://developers.google.com/appengine/docs/java/images/overview

가 리디렉션을 방지하려면 이미지를 제공하기 위해이 방법을 사용한다 :

: 문서에서 getServingUrl()

getServingUrl() 메소드를 사용하면 웹에 적합한 이미지 축소판을 제공하기 위해 안정적인 URL을 생성 할 수 있습니다. Blobstore에 원래 이미지의 단일 사본 을 저장 한 다음 고성능 이미지 단위 URL을 요청하기 만하면됩니다. 이 특수 URL은 해당 이미지 을 자동으로 크기 조정 및/또는자를 수 있으며이 URL로 서비스를 제공하면 에 CPU 또는 동적 서비스로드가 발생하지 않습니다 (일반적으로 대역폭이 청구되지만). 고도로 최적화되고 쿠키가없는 인프라에서 이미지가 낮은 지연 시간 ( )으로 제공됩니다.