[英]What is the best way to return big chunks of binary data from a webservice?
我正在实现一个返回二进制文件内容的web服务。 文件大约100MB。 Web服务和客户端基于Axis2构建。
返回数据的方法的返回类型的最佳好处是什么?
我尝试了byte [],但我总是在服务器端获得OutOfMemoryErrors。 另外,我不太乐意将整个文件内容保存在内存中。 有什么相似的东西,我可以使用吗?
您是否可以返回指向保存为临时文件的大结果的临时URL,而不是返回数据? 或者您可以将文件作为一系列较小的结果返回吗?
文章“使用Axis2从Web服务下载二进制文件和带附件的SOAP”描述了我正在寻找的解决方案。 使用“SOAP with Attachments”(SwA)将大块数据作为附件添加到Web服务的SOAP响应中。
我可以使用提供InputStream的javax.activation.DataSource,而不必将整个文件保存在内存中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.