0

Вы можете создать URL загрузки внутри в Google App Engine с помощью Blobstore API вроде этого:Как сделать обработчик загрузки в AppEngine для объекта закачанный в Google Cloud Storage с Blobstore API

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

Но как же тогда делать я , внутри App Engine, создать метод Java для обработки загрузки? Как это выглядит и как я читаю в имени объекта загруженного файла, а что нет?

Я искал рекламный ролик об этом в docs, но там действительно нет кода, объясняющего, как это сделать.

Примечание: Я использую облачные конечные точки, но он должен быть аналогичным.

ответ

1

Вам необходимо создать сервлет, который отображается на ваш обработчик «/ blob». Что-то вроде этого:

@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); 
     } 
    } 
} 
Смежные вопросы