0

이미지 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'* 

내가 이해할 수를 왜. 클라우드 스토리지에 뭔가를 설정해야합니까?

+0

왜 대신 Blob 저장소의 구글 클라우드 스토리지를 시도하지? –

+0

gae의 urlfetch 클래스를 사용하여 파일을 다운로드하고 읽은 다음 gcs 버킷에 새 파일을 만듭니다. 버킷 개체를 모든 사용자가 사용할 수 있도록 gcs 버킷에 적절한 권한을 부여합니다. 그런 다음 gcs 객체 서비스 URL을 생성하여 모든 사용자에게 해당 URL을 제공하십시오 .. –

+0

조언 해 주셔서 감사합니다. 작동하지 않기 때문에 내 대답을 편집했습니다! 너 나 좀 도와 줄 수있어? –

답변

0

cloudstorage.open()이 분명하게 존재하므로 오류는 사용자 환경에서 일부 라이브러리/이름 충돌이 있음을 나타냅니다.

이러한 충돌을 디버깅하는 방법

이 게시물에 설명되어 있습니다 : google-cloud-sdk - Fatal errors on both update and attempted reinstall Mac OSX 10.7.5

+0

답변 해 주셔서 감사합니다. Google 클라우드 저장소를 사용하려고하지만 메소드를 열 때 (내 질문에 편집 한대로) 몇 가지 문제가 있습니다. –

관련 문제