2010-12-30 4 views
4

UPDATE어떻게 웹 이미지를 저장하는 구글 앱 엔진의 Blob 저장소를 사용하는

(예를 들어 URL을 통해) 프로그램 파일 생성에 대한 지원이 없을 때이 질문은 원래 한 번에 요청했다. 변경된 내용 : http://code.google.com/appengine/docs/java/blobstore/overview.html#Writing_Files_to_the_Blobstore

이미지를 가져 오기 위해 몇 가지 다른 API에 액세스하고 있습니다. 내 응용 프로그램은 GAE + Python이고이 이미지를 저장하기 위해 Blobstore를 사용하고 싶습니다. GAE Blobstore 문서는 양식을 통해 이미지를 Blobstore에 저장하는 방법에 대한 명확한 예를 제공하지만 URL에서 직접 가져 오는 것은 아닙니다.

http://code.google.com/intl/iw/appengine/docs/python/blobstore/overview.html#Writing_Files_to_the_Blobstore

나는 Blob 저장소에 http://api.website.com/images/foo.jpg을 저장하는 방법을 알고 싶어요.

+0

사람이 알고 있지 양식을 통해 업로드하는 대신 링크에서 이미지를 Blobstore에 저장하는 대신 더 이상 사용되지 않는 대체 솔루션에 대해 설명합니다. GAE Python .. – gsinha

답변

2

당신이 양식을 통해 이미지 URL을 전달 그것을 서버 측을 취득 Blob 저장소에 기록 할 수 있어야한다 :

http://code.google.com/intl/iw/appengine/docs/python/blobstore/overview.html#Writing_Files_to_the_Blobstore

+1

이 파일 작성 기능이 너무 좋지 않습니다. – nimcap

+0

누구나 양식을 통해 업로드하는 대신 링크에서 이미지를 저장하는 대신 더 이상 사용되지 않는 대안 솔루션에 대해 알고 있습니다. – gsinha

0

입력 URL의 내용을 blob 저장소 핸들러에 업로드하는 추가 처리기를 작성할 수 있습니다. 즉 양식 제출 프로세스를 자동화합니다. POST 요청을 blob 저장소 핸들러에 보내고 url로 이미지를 인코딩하십시오.

그러나 파일이 너무 크면 시간 초과 예외가 발생할 수있는 유일한 문제가 있습니다.

2

자신의 양식에 대한 HTTP POST가 작동합니다. 나는 파일을 제출하려고하지 않았지만 여기에 양식을 제출하는 방법이 있습니다. 인터넷에서 파일을 가져 와서 양식 제출에 추가하면 파일이 BLOBSTORE에 저장됩니다. 있다

import urllib 
data = urllib.urlencode({"id":str(id), "password" : self.request.POST['passwd'], "edit" : "edit"}) 
result = urlfetch.fetch(url="http://www.montao.com.br/upload", 
payload=data, 
method=urlfetch.POST, 
headers={'Content-Type': 'application/x-www-form-urlencoded'}) 

도 비슷한 질문은 내가 당신을 위해 일하는 희망

here 대답했다. URL을 가져올 수의 API와 함께 새로운 파일 API를 사용하여

+1

blobstore 컨텍스트를 this에 추가합니다. 'result = urlfetch.fetch (url = blobstore.create_upload_url ('http://www.montao.com.br/upload'), ...) ** blobstore.create_upload_url **은 "wrapped"URL을 제공합니다. blobstore가'blob_info'로 게시 된 img를 소비 한 후에 업로드 핸들러를 호출 할 blobstore에 게시하십시오. – kevpie

+0

아직 테스트 중입니다. 결과로 업데이트됩니다. –

+0

혹시이 문제가 해결 되었습니까? 이 접근법을 모델로 사용했지만 문제가 발생했습니다. http://stackoverflow.com/questions/5370113/how-do-i-save-web-images-to-app-engines-blobstore –