6

Aşağıdaki dönüşüm, Java servlet'inin google uygulama motoru bulut son noktasına dönüştürülmesi için beklemede kalır mı? Ben Blobstore geri arama işlemek için bitiş noktası kullanmaya çalışıyorumuygulama şeması için uygulama-motoru son nokta şemasına dönüştürme

:

@ApiMethod(name = "save_blob_key", path = "save_blob_key" httpMethod = HttpMethod.POST) 
public void saveBlobKey(HttpServletRequest req) throws IOException { … } 

BAĞLAMINDA İÇİN

public void doPost(HttpServletRequest req, HttpServletResponse res) 
throws ServletException, IOException { … } 

GELEN

.

Ref: https://developers.google.com/appengine/docs/java/blobstore/overview#Complete_Sample_App

SORUN:

büyük Burada hickup aşağıdaki iki satır sınıf HttpServletRequest gerektirecek gibi görünüyor ve ben bitiş noktasına geçmek eğer bilmiyorum olmasıdır.

BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService(); 
Map<String, List<BlobKey>> blobs = blobstoreService.getUploads(req); 

DÜZENLEME:

ben bu sorunu çözmek için yolları oldukça fazla çalışıyorlar. En son combining blob servlet with endpoint api. Hala çalışmak için kod alamıyorum. Bu nedenle, ödül, çözümü veya herhangi bir çözümü'a yönlendiren bilgiler sağlayan herkese gider.

+0

Uzun yıllar oldu, bir çözüm buldunuz mu? – Micro

cevap

3

Bitiş noktalarını şu anda blobstore blobstoreService.createUploadUrl numaralı telefona geri arama olarak kullanamazsınız. Bu related answer'a bakın. mediaUpload'u desteklemek için açık bir özellik isteği vardır; Desteği göstermek ve otomatik güncellemeleri almak için yıldızlara bakmaktan çekinmeyin.

Öneririm, yüklemeye çalıştığınız veri miktarına bağlı olarak iki olası alternatiften biri olabilir.

Veri deposuna sığacak kadar küçük miktarda veri bloğu yüklüyorsanız, Bitiş Noktası varlık sınıfınızda ShortBlob (500 bayta kadar) veya Blob (en çok 1 MB) türünü kullanın. Uç noktalar, arka uçtaki serileştirmeyi işleyecek ve istemci kütüphaneleri aracılığıyla base64 kodlu dizeleri bekleyecek (ve geri gönderecektir). Bu çok basit, basit bir yaklaşım.

1 MB'den büyük lekeler sağlamak istiyorsanız, şimdilik Google Cloud Storage JSON API'u kullanın. Bu API, Uç Noktalar ile aynı istemci kitaplığını kullanır; bu nedenle, uygulamanızla başka bir kitaplık oluşturmayı düşünmek zorunda kalmazsınız. This page, Google Cloud Storage'a bir blob'u Java istemci kitaplığı ile ekleme örneğine sahiptir.

+0

MediaUpload için Bitiş Noktaları desteği ile ilgili sorun şu anda neredeyse 2,5 yaşında. Hiçbir şey olmadı. Bu AppEngine sorunları için tipiktir. Google ilkbaharda ya da sonbahar temizliğinde AppEngine'den kurtulacak mı acaba? – rakensi

İlgili konular