从 Restlet Response 获取文件

Getting file form Restlet Response

我创建了通过 FileRepresentation 发送文件的 webapp。客户端是一个 Android 应用程序。如何从客户端的 Restlet Response 对象获取文件?

文件内容将出现在负载中。因此,您可以像使用 Restlet 提取任何有效负载一样提取它,如下所述:

ClientResource cr = new ClientResource(...);
Representation rep = cr.get();

事实上,FileRepresentation class 是为了从文件中填充请求/响应而提供的,但不能用于提取响应的内容。

要在客户端访问您的响应内容,这取决于文件类型。如果您收到 ascii 内容,您可以这样做:

Representation representation = cr.get();
String fileContent = representation.getText();

如果是二进制文件,则需要使用流,如下所述:

ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
cr.get().write(outputStream);
byte[] fileContent = outputStream.toByteArray();

希望对你有帮助, 蒂埃里