我们在Jetty 9中使用scalatra。我们有一个服务于静态文件的端点。但我注意到任何大于2GB的东西似乎都会被截断。我可以看到文件被分块发送。 Curl和wget可以正确开始下载,并且完成后不会出错。我在寻找scalatra和Jetty的问题,并没有看到类似我看到的问题。但它看起来像有人用一个int,当他们需要很长的发送带有Scalatra服务器的大文件在2^31 - 1字节后结束
1
A
回答
1
对于那些已经通过搜索结果碰到这个问题跌跌撞撞......
这在码头问题跟踪被处理在 https://github.com/eclipse/jetty.project/issues/630
答案是这是一个scalatra错误,它错误地假设.transferTo()
有保证发送所有传递给它的字节。
scalatra实现需要将其使用.transferTo()
放在循环中,以验证整个大小是否已发送。
要回答2GB?的原因,那是因为transferTo()
使用java的ByteBuffer
,它本身具有2GB的限制。
+0
是的,这最终成为scalatra的一个问题。我们有一个解决方案,这是出于审查。你可以追踪它在bug上的进展:https://github.com/scalatra/scalatra/issues/575 – jamesatha
相关问题
- 1. 发送gzip文件节点服务器
- 2. 将文件发送到带有手机电话的服务器
- 3. Java服务器端发送带有简历支持的文件?
- 4. 发送文件到C++服务器
- 5. 发送修改后的数据到服务器(带定时器)
- 6. 发送带有额外参数的文件到WCF REST服务
- 7. Node.js服务器发送带负载均衡器的事件
- 8. 发送文件到服务器的android
- 9. 发送到Web服务的字节[]的大小问题?
- 10. 从生产服务器发送的电子邮件以垃圾邮件结束
- 11. 发送多个二进制文件到服务器 - 代号1
- 12. 节点服务器无法在发送后设置标头
- 13. 在字符串发送通过TCP服务器上的文件
- 14. SILVERLIGHT将文件发送到服务器
- 15. WCF用于发送和接收大字节的Web服务[]
- 16. 多个文件发送到服务器
- 17. 尝试发送2个字节的字符串到服务器
- 18. 将文件发送到节点JS服务器
- 19. 使用NowJS使用节点服务器发送JavaScript文件
- 20. 发送字节[]到WCF服务
- 21. 发送带有SCP的大文件到某个服务器,完全停止在2112 kB
- 22. 向服务器发送大量请求
- 23. 套接字,从服务器发送事件到服务器
- 24. Ruby将文件发送到服务器
- 25. 发送文件到Linux服务器
- 26. JavaMail - 任务结束,没有错误,但没有邮件发送
- 27. 将大型二进制文件发送到服务器的WCF服务
- 28. REST服务发送损坏的文件
- 29. 在Java Web服务器上发送服务器事件
- 30. 从iOS设备发送大视频文件到WebDav服务器
某些文件系统无法处理2GB +文件。你也是这样吗?详细描述客户有问题。你在客户端上运行Java 64位吗? –
我们使用的是ext4,所以我相信我们可以处理2GB +文件。我们正在为服务器运行java 64位 – jamesatha
服务器不是问题,正如你所说的,curl和wget处理得很好。关注客户。 –