如何在 Restlet 中将 Representation 转换为 FileRepresentation

发布于 2024-12-02 01:42:43 字数 220 浏览 1 评论 0原文

我正在使用 Restlet 框架。我创建了一个将文件返回给客户端的 Web 服务。

在服务器端,我首先创建一个 FileRepresentation 对象,正确实例化它,并将其作为 Representation 返回给客户端。

在客户端,我想提取Representation的内容,如何将Representation对象转换为FileRepresentation?

提前致谢!!

I am using Restlet framework. I create one web service that returns a file to the client.

On the server side, I first create a FileRepresentation object, instantiate it correctly, and return it to the client as Representation.

On the client side, I want to extract the content of the Representation, how can I cast the Representation object to FileRepresentation?

Thanks in advance!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

七婞 2024-12-09 01:42:43

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

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

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

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

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

希望它对您有帮助,
蒂埃里

In fact, the FileRepresentation class is provided in order to fill request / response from a file but can't be used to extract content of a response.

To have access to your response content on the client side, it depends on the file type. If you receive an ascii content, you can do something like that:

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

If it's a binary file, you need to work with a stream, as described below:

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

Hope it helps you,
Thierry

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文