我的服务器正在向我发送分块编码数据,我能够在我的客户端中获得分块响应。我面临的问题是有些块太大了,大约 10 MB。由于我已将最大块大小设置为 2M,因此出现异常。
有没有办法把这个大块分成小块?
我的服务器正在向我发送分块编码数据,我能够在我的客户端中获得分块响应。我面临的问题是有些块太大了,大约 10 MB。由于我已将最大块大小设置为 2M,因此出现异常。
有没有办法把这个大块分成小块?
唔。不确定您使用的是什么版本的 Spray,但从 1.1 版开始有incoming-auto-chunking-threshold-size
设置(此处有详细信息)。这是支持分块上传的服务示例。
目前仍有许多限制。您可以在open ticket中阅读相关讨论。
您可以使用 RandomAccessFile 将大块分成较小的块。我有同样的问题。我使用 RandomAccessFile 解决了它。
您可以按照以下方式进行。
byte[] bytes;
String filePath = "path";
RandomAccessFile file1 = new RandomAccessFile(filePath, "r");
file1.seek(0);
bytes = new byte[(int)file1.length()/3];
file1.read(bytes);
file1.close();
String str = new String(bytes, "UTF-8");