0

Sie eine Upload-URL innerhalb von Google App Engine erstellen können die Blobstore API wie diese hochgeladen machen:Wie Upload-Handler in App Engine für das Objekt zu Google Cloud Storage mit Blobstore API

BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService(); 
String callbackUrl = "/imageApi/imageUploaded"; 
String uploadUrl = blobstoreService.createUploadUrl(callbackUrl, 
    UploadOptions.Builder.withGoogleStorageBucketName("myBucket")); 

Aber wie kann ich dann Erstellen Sie in App Engine eine Java-Methode für den Upload. Wie sieht es aus und wie lese ich den Objektnamen der hochgeladenen Datei ein und was nicht?

Ich schaute auf den Klappentext darüber in der docs, aber es gibt wirklich keinen Code dort erklären, wie es geht.

Hinweis: Ich verwende Cloud-Endpunkte, aber es sollte ähnlich sein.

Antwort

1

Sie müssen ein Servlet erstellen, das Ihrem Handler "/ blob" zugeordnet ist. Etwas wie dieses:

@Override 
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 

    Map<String, List<FileInfo>> files = blobstoreService.getFileInfos(request); 
    List<FileInfo> info = files.get("uploadFormElement"); 

    for (FileInfo i : info) { 
     if (i != null) { 
      String objectName = i.getGsObjectName(); 
      long size = i.getSize()); 
      // if you want to return object name to the client: 
      resp.getWriter().print(objectName); 
     } 
    } 
}