从 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();
希望对你有帮助,
蒂埃里
我创建了通过 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();
希望对你有帮助, 蒂埃里