이동 서버 측 코드에서 Blobstore의 이미지를 읽으려고합니다. 그러나 이미지가 크면 (0.5MB - 1.7MB에서와 같이) 바이트 버퍼의 대부분이 0이되어 이미지가 손상됩니다.Blobstore 판독기가 큰 이미지를 읽지 않습니다.
이 이미지는 serveUrl을 사용하면 작동하지만이 경우이 옵션이 아닙니다.
시스템 전체의 안전 할당량 외에도는 한계가 Blob 저장소의 사용에 특별히 적용 : Blob 저장소의 최대 크기
내 첫번째 생각은 읽기에 크기 제한, found this이이었다이었다 이 하나의 API 호출로 응용 프로그램에서 읽을 수있는 데이터는 32 메가 바이트입니다.
내가 읽는 이미지는 32MB 근처에 없습니다. 나는 Blob 저장소에서 읽는 데 사용할
기능 :
func BlobAsBase64(c appengine.Context, blobKey string) (*blobstore.BlobInfo, string, error) {
info, err := blobstore.Stat(c, appengine.BlobKey(blobKey))
if err != nil {
return nil, "", err
}
imageBuffer := make([]byte, info.Size)
reader := blobstore.NewReader(c, appengine.BlobKey(blobKey))
if _, err = reader.Read(imageBuffer); err != nil {
return nil, "", err
}
imageBase64 := base64.StdEncoding.EncodeToString(imageBuffer)
return info, imageBase64, nil
}
나는 Blob 저장소에서 읽을 때 내 이미지가 깨진 될 이유는 무엇입니까?
이것이 내 문제의 해결책이었습니다! 너 락! 고맙습니다! :) –