이미지 URL에서 BLOB를 만들려고하는데 어떻게해야하는지 알 수 없습니다.python을 사용하여 gae의 URL에서 BLOB 만들기
나는 blob을 만드는 것에 대한 Google의 문서를 이미 읽었지만 양식에서 BLOB를 작성하고 사용하는 방법에 대해서만 설명합니다. blobstore.create_upload_url('/upload_photo').
거기에 몇 가지 질문을 읽었지 만 도움이되는 내용을 찾지 못했습니다.
내 응용 프로그램에는 이미지 URL 목록이 있으며 이미지를 blobstore에 저장하여 나중에 제공 할 수 있습니다. 나는 blobstore가 해결책이라고 생각한다. 그러나 이것을하기위한 더 좋은 방법이 있다면, 나에게 말해줘!
편집 내가 구글 클라우드 스토리지 사용하려고 해요 :
이class Upload(webapp2.RequestHandler):
def get(self):
self.response.write('Upload blob from url')
url = 'https://500px.com/photo/163151085/evening-light-by-jack-resci'
url_preview = 'https://drscdn.500px.org/photo/163151085/q%3D50_w%3D140_h%3D140/d3b8d92296f9381a91f6d41b1c607c92?v=3'
result = urlfetch.fetch(url_preview)
if result.status_code == 200:
doSomethingWithResult(result.content)
self.response.write(url_preview)
def doSomethingWithResult(content):
gcs_file_name = '/%s/%s' % ('provajack-1993', 'prova.jpg')
content_type = mimetypes.guess_type('prova.jpg')[0]
with cloudstorage.open(gcs_file_name, 'w', content_type=content_type, options={b'x-goog-acl': b'public-read'}) as f:
f.write(content)
return images.get_serving_url(blobstore.create_gs_key('/gs' + gcs_file_name))
(유래에 있음)하지만이 코드는 나에게 오류를 제공하는 것은 :
*File "/base/data/home/apps/e~places-1993/1.394547465865256081/main.py", line 54, in doSomethingWithResult
with cloudstorage.open(gcs_file_name, 'w', content_type=content_type, options={b'x-goog-acl': b'public-read'}) as f:
AttributeError: 'module' object has no attribute 'open'*
내가 이해할 수를 왜. 클라우드 스토리지에 뭔가를 설정해야합니까?
왜 대신 Blob 저장소의 구글 클라우드 스토리지를 시도하지? –
gae의 urlfetch 클래스를 사용하여 파일을 다운로드하고 읽은 다음 gcs 버킷에 새 파일을 만듭니다. 버킷 개체를 모든 사용자가 사용할 수 있도록 gcs 버킷에 적절한 권한을 부여합니다. 그런 다음 gcs 객체 서비스 URL을 생성하여 모든 사용자에게 해당 URL을 제공하십시오 .. –
조언 해 주셔서 감사합니다. 작동하지 않기 때문에 내 대답을 편집했습니다! 너 나 좀 도와 줄 수있어? –