Android 如何将大尺寸的视频发送到服务器?

Android 如何将大尺寸的视频发送到服务器?,android,large-files,large-file-upload,Android,Large Files,Large File Upload,我找到了这段代码,它可以完美地处理视频、图像和音频。但是,当我发送一个大视频时,会出现以下错误: Throwing OutOfMemoryError "Failed to allocate a 28 byte allocation with 0 free bytes and -1856B until OOM" (recursive case) 视频太大,无法一次在RAM中处理,因此您需要将文件变小,或者将其分块处理,在这种情况下,您的服务器也需要配置为接受流数据块。从文档中: 要将数据上载到w

我找到了这段代码,它可以完美地处理视频、图像和音频。但是,当我发送一个大视频时,会出现以下错误:

Throwing OutOfMemoryError "Failed to allocate a 28 byte allocation with 0 free bytes and -1856B until OOM" (recursive case)

视频太大,无法一次在RAM中处理,因此您需要将文件变小,或者将其分块处理,在这种情况下,您的服务器也需要配置为接受流数据块。从文档中:

要将数据上载到web服务器,请配置输出连接 使用setDoOutput(true)。为了获得最佳性能,您应该调用 在中已知主体长度时设置FixedLengthStreamingMode(int) advance,或设置ChunkedStreamingMode(int)(如果未设置)。否则 HttpURLConnection将被强制缓冲整个请求正文 在传输之前存储在内存中,浪费(可能会耗尽) 堆和增加延迟

因此设置
setChunkedStreamingMode()
可能会解决您的问题


您还可以看看这个问题:

我已经设置了conn.setChunkedStreamingMode(1024);现在工作出色,所以你认为需要添加更多,因为我是开发人员中的新手,所以我不知道有多少想法,如果你能写一个示例,我会接受这个答案,因为我不确定你在问什么。我已经创建了一个应用程序录制视频,视频保存在SD卡中,当我单击停止视频保存并在发送到服务器后发送到服务器服务器我想从SDCard中删除视频您只需从视频路径创建一个文件,然后对该文件调用
delete()
。查看文档了解更多信息:是的,谢谢你,我知道我只是告诉你我想做什么,对于发送的大型视频,我使用你告诉我的链接,与我发布和知道的链接相同,100%感谢阿尔巴尼亚对我的尊重!!!