Я использую Blobstore для загрузки простого текстового файла с использованием этого документа: https://cloud.google.com/appengine/docs/java/blobstore/#Java_Uploading_a_blob. Я понимаю из документов, как сохранять и обслуживать blob для пользователей, но я не понимаю, как мой сервлет, который обрабатывает загрузку файла, действительно просматривает содержимое текстового файла?Как читать содержимое загруженного блоба?
0
A
ответ
0
Я нашел ответы. Это код:
Map<String, List<FileInfo>> infos = blobstoreService.getFileInfos(request);
Long fileSize = infos.get("myFile").get(0).getSize();
Map<String, List<BlobKey>> blobKeys = blobstoreService.getUploads(request);
byte[] fileBytes =
blobstoreService.fetchData(blobKeys.get("myFile").get(0), 0, fileSize);
String input = new String(fileBytes);
0
В python есть класс BlobReader, который поможет вам в этом. (https://cloud.google.com/appengine/docs/python/blobstore/blobreaderclass)
Кажется, что вы используете Java. Кажется, что нет эквивалентного класса в Java. То, что я сделал бы, это использовать GCS в качестве поддержки для вашего blobstore (https://cloud.google.com/appengine/docs/java/blobstore/#Java_Using_the_Blobstore_API_with_Google_Cloud_Storage). Таким образом, файлы, загруженные в blobstore, будут доступны в GCS.
Затем вы можете прочитать файл, используя клиентскую библиотеку GCS для Java.
Вы можете использовать 'org.apache.commons.fileupload' для разбора' многослойную/form-data' пользователь может отправить файл в форме, как 'многочастного/форм-data', то ваш сервлет может читать его ... – brso05