HttpCore - 将实体保存为blob

时间:2015-12-05 16:13:07

标签: java http apache-httpcomponents

我是服务器编程和httpcore的新手,我试图将实体从传入的HttpResponse保存到数据库中作为blob(假设我必须使用blob并且不能使用其他类型)

我发现我可以序列化对象并将它们作为bytearray发送,但是当我尝试序列化一个实体时,我得到了一个异常。

代码:

HttpEntity entity = response.getEntity();
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    try (ObjectOutputStream oos = new ObjectOutputStream(baos)){
        oos.writeObject(entity);
    } catch (IOException e) {
        System.err.println("error serializing entity");
        return false;
    }
    byte[] entityAsBytes = baos.toByteArray();
    ByteArrayInputStream bais = new ByteArrayInputStream(entityAsBytes);

失败的行是

oos.writeObject(entity);

1 个答案:

答案 0 :(得分:0)

找到了答案。有一个用于将实体序列化为字节数组的函数。所需要的就是这一行:

EntityUtils.toByteArray(response.getEntity());