오류로 인한은 구글 앱 엔진 Blob 저장소 및으로 Restlet은
"의 Blob 업로드 콜백 요청에서 호출되어야합니다." com.google.appengine.api.blobstore.BlobstoreServiceImpl.getUploads (BlobstoreServiceImpl.java:169)
코드
public class UserUploadProfilePictureResource extends ServerResource {
@Post
public void handleBlobstoreUpload(Representation entity) {
Representation rep =null;
if (entity !=null) {
if (MediaType.MULTIPART_FORM_DATA.equals(entity.getMediaType(), true)) {
Request restletRequest = getRequest();
HttpServletRequest servletRequest = ServletUtils.getRequest(restletRequest);
BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService();
Map<String, List<BlobKey>> blobs = blobstoreService.getUploads(servletRequest);
가능한 솔루션에서 (하지만 난하지 않을 것)
처음. 두 번째 HttpServlet을 호출하고 싶지 않습니다.
초.
하는 것은 추천하지 않습니다 : 사용 된 파일 API 기능
- how to get uploaded file as blobs in servlet using google app engine
- Upload an image to google app engine blobstore with java programmatically
구글이 다음 말한다 :이 게시물에 관련하여 파일을 수동으로 작성하는 솔루션이있다 여기에 파일을 쓰려면 블로 브 스토어가 나중에 언젠가는 제거 될 것입니다.은 Google Cloud Storage에 파일을 쓰고 Blobstore를 사용하여 을 제공합니다.
수 Solution2 (그러나 해결 방법에 대해서만 개념)
http://www.cloudave.com/1055/the-new-google-app-engine-blobstore-api-first-thoughts/
브렛 슬래트 킨이 API를 제조 할 때 POST URL이 가 파일을 업로드에 사용되는 것을 지적, 잠재적 인 스니핑을 완화하는 고유 한 URL 인 을 만듭니다.
사용자가 웹 양식 을 제출할 때이 시나리오에 완벽하게 맞습니다. 그러나 파일을 업로드 할 수있는 REST API를 제공하려는 경우 (예 : TwitPic과 같은 을 생각해보십시오.) 더 힘들어집니다. 이 경우 당신은 자신이 웹 양식을 어떻게 할 것인지 시뮬레이션 렌더링 작성해야 (즉, 파일을 가져 호출, 무작위 POST URL을 생성, ...)
질문
Google 앱 엔진에 이미지를 저장하는 최선의 방법은 무엇입니까? 블롭 스토어보다 더 좋은 방법이 있습니까? 블롭 스토어에 이미지를 저장하려면 어떻게해야합니까?
일부 코드가 삭제되었습니다. blobstoreService.createUploadUrl (path)을 어디에서 호출할까요? 해당 함수를 호출하지 않으면 문제가 발생합니다. – tkaitchuck
@tkaitchuck'blobstoreService.getUploads' 전에 호출하려고했습니다. 그러나 그것은 행동에서 아무 것도 바뀌지 않았습니다. –