GAE에서 실행중인 App Engine App을 사용하여 버킷에 파일 (xls)을 성공적으로 읽고 쓸 수있었습니다. 나는 이미지 파일에 대해 동일한 작업을 수행하려고 할 때, 그것은주고있다 오류 :이미지 업로드시 cloudstorage python 라이브러리에만 적용
가'Google 클라우드 스토리지에 요청 시간이 초과되었습니다. " , DownloadError ('URL 가져올 수 없습니다 https://storage.googleapis.com/parse_scratch/TTM150 MSM63 04504.jpg을 ')
도와주세요. (내가 사용하고 코드와 함께) 벤슨, 대답에 의하여 문제에 대응
은 다음과 같습니다 :
개별 파일 크기 :
이400킬로바이트 적은 다음 (일부 100킬로바이트 미만) 및 GCS에 업로드 한 이미지 중 gcs.open (fname, 'r')을 호출하여 단순히 읽으려는 이미지는 22KB입니다. 그러나 동일한 코드를 사용하여 동일한 버킷에서 읽으려고하는 xls 파일은 5MB입니다!
코드 :
그것은 무엇입니까: 내 장고 프레임 워크의 정적 파일에서 저장된 이미지의 ZipFile를이, 하나 하나 그것을 통해 파일을 읽고 열고, gcs_write를 사용하여 GCS에 데이터를 저장하려고합니다(). 비슷한 코드 (Zip 파일을 거치지 않고 GCS에 저장된 이미지를 읽지 않고도 위의 동일한 오류를 생성하면서 읽을 수 없음).
zip = zipfile.ZipFile(join(IMAGEPATH, f), 'r')
for imgwpath in zip.namelist():
if not (('.jpg' in imgwpath) or ('.jpeg' in imgwpath) or ('.gif' in imgwpath)):
continue
full_name = imgwpath.split('/')
image_name = full_name[len(full_name)-1]
data = zip.read(imgwpath)
if '.jpg' or '.jpeg' in image_name:
type = 'jpeg'
elif '.gif' in image_name:
type = 'gif'
filename = BUCKET + image_name
gcs_file = gcs.open(filename, 'w', content_type = 'image/jpeg')
gcs_file.write(data)
gcs_file.close()
얼마나 많은 사용자가 작성하려는 이미지 파일은? – Benson
코드에서 오류 메시지를 나타내는 줄은 무엇입니까? – Benson
gcs 라이브러리를 사용합니다. 보시다시피 마지막 세 줄은 GCS에 대한 유일한 줄입니다. – user2243088