Что я делаю для хранения двоичных данных, таких как изображения, довольно просто. В моем случае я имею дело с загруженными файлами, которые публикуются в сервлете. Внутри сервлета я получаю InputStream в опубликованном теле с помощью request.getInputStream (). Однако это работает с любым типом InputStreawm, включая один на основе URL. В приведенном ниже примере кода показано, как преобразовать этот InputStream в двоичный объект Google Appeninge, который, например, можно сделать постоянным в хранилище данных.
...
import org.apache.commons.io.IOUtils;
import com.google.appengine.api.datastore.Blob;
...
public void InputStreamToBlob(InputStream i) throws IOException {
...
Blob content = new Blob(IOUtils.toByteArray(i));
...