android - 从 Android 发送大文件时 io.socket 重新启动

标签 android upload large-files io-socket

我正在使用这个库

api('io.socket:socket.io-client:1.0.0') {
        exclude group: 'org.json', module: 'json'
    }
我正在使用下面的代码发送文件。它适用于最大约 6mb 的小文件。但是对于较大的文件,例如 30mb,它会尝试上传大约 5 秒钟,但随后套接字会自动“重新连接”而不上传。
        input = file.inputStream()
        byteArray = input.readBytes()

        val fileJson = JSONObject()
        fileJson.put("file", byteArray)
        socket.emit("media/upload", fileJson)
服务器端看起来不错,因为它可以从网络到网络工作。
我做得不对吗?

最佳答案

我在处理文件(100Mb)时遇到了同样的问题,然后我将文件分成几个小块/数据包(1024字节),然后确保你没有为每个数据包创建一个新的连接,然后你可以随时将数据包写入磁盘以获取文件。
对于拆分文件,您可以引用 How to break a file into pieces using Java?
它还有一个关于合并文件的示例
这不是最好的解决方案,但会让你继续前进。

关于android - 从 Android 发送大文件时 io.socket 重新启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62959584/

相关文章:

android - 组合多个 Kotlin 流以获得它们的当前值

ios - 在 iOS 上使用 TwitterKit 上传视频

php 安全和可扩展的文件管理

javascript - 多文件上传

java - ColdFusion 8 读取大型 Excel 文件

java - Android:如何用多行长的项目拆分一个很长的字符串?

android - 仅支持智能手机设备

Javascript - 处理 3GB 数据进行常规计算

java - 适用于 Java 的优秀且有效的 CSV/TSV 阅读器

java - "this"是什么意思?