#java #google-app-engine #blobstore
#java #google-app-engine #blobstore
Вопрос:
Я использую службу Blobstore Google App Engine для хранения HTML-файлов. Эти файлы соответствуют веб-страницам, которые я пытаюсь разрешить моим пользователям редактировать и обновлять.
Если у меня есть HTML-файлы в blobstore, какой был бы самый простой способ извлечь HTML-код из сохраненных файлов и отобразить код в текстовой области и т.д.? Тогда как бы мне обновить этот файл в blobstore?
Я знаю, что существует метод fetchData, который возвращает массив байтов, так как же я мог бы отобразить обычный текстовый HTML-код из HTML-файла в blobstore?
Комментарии:
1. разобрался. Я извлек массив байтов, используя BlobKey, переданный через параметр GET, а затем использовал fetchData (BlobKey, 0, BlobstoreService. MAX_BLOB_SIZE-1); Чтобы напечатать массив байтов в виде читаемого HTML-кода: <идентификатор текстовой области=»content» name=»content» rows=»15″ cols=»85″> <% for(int i=0; i<blobData.length; i ){%><%=(char)blobData[i]%><%}%> </ текстовая область></td>
Ответ №1:
Я также сохраняю файлы HTML и TXT, но я храню эти файлы в свойстве blob-объекта хранилища данных.
args['text_area'] = db.Blob(db_block.content).decode('utf-8')
Я использую codemirror для редактирования файлов / текстового файла. Работает отлично.
Обновление :
db_block.content = db.Blob(args['text_area'].encode('utf-8'))
db_block.put()
Ответ №2:
разобрался. Я извлек массив байтов с помощью BlobKey, переданного через параметр GET, а затем использовал:
fetchData(blobKey, 0, BlobstoreService.MAX_BLOB_SIZE-1);
Для печати массива байтов в виде читаемого HTML-кода:
<textarea id="content" name="content" rows="15" cols="85">
<%for(int i=0; i<blobData.length; i ){%>
<%=(char)blobData[i]%><%}%>
</textarea></td>