从REST Web服务向客户端发送文件的正确方法是什么?

从REST Web服务向客户端发送文件的正确方法是什么?,第1张

从REST Web服务向客户端发送文件的正确方法是什么?

我不建议在base64中编码二进制数据并将其包装在JSON中。它只会不必要地增加响应的大小并使速度变慢。

只需使用GET并

application/octect-stream
使用的工厂方法之一即可提供文件数据
javax.ws.rs.core.Response
(JAX-
RS API的一部分,因此您不会被锁定到Jersey):

@GET@Produces(MediaType.APPLICATION_OCTET_STREAM)public Response getFile() {  File file = ... // Initialize this to the File path you want to serve.  return Response.ok(file, MediaType.APPLICATION_OCTET_STREAM)      .header("Content-Disposition", "attachment; filename="" + file.getName() + """ ) //optional      .build();}

如果您没有实际的

File
对象,但是
InputStream
,也
Response.ok(entity,mediaType)
应该能够处理该对象。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5622805.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存