如何向服务器发送大尺寸视频?

问题描述 投票:0回答:1

我找到了这个代码HttpURLConnection to Send image , audio and video files with parameter may (String or Json String) Android,它与视频,图像和音频完美配合。但是当我发送大型视频时,我收到此错误:

Throwing OutOfMemoryError "Failed to allocate a 28 byte allocation with 0 free bytes and -1856B until OOM" (recursive case)
android large-files large-file-upload
1个回答
0
投票

视频太大而无法同时在RAM中使用,因此您需要将文件缩小,或者将其与片段一起使用,在这种情况下,您的服务器需要配置为接受流数据块同样。来自HttpURLConnection文档:

要将数据上载到Web服务器,请使用setDoOutput(true)配置输出连接。为了获得最佳性能,您应该在事先知道体长时调用setFixedLengthStreamingMode(int),否则调用setChunkedStreamingMode(int)。否则,HttpURLConnection将被强制在传输之前缓冲内存中的完整请求主体,浪费(并可能耗尽)堆并增加延迟。

所以设置setChunkedStreamingMode()可能会解决您的问题。

你也可以看一下这个问题:Upload large file in Android without outofmemory error

© www.soinside.com 2019 - 2024. All rights reserved.