【问题标题】:HttpURLConnection FixedLength and setChunked throwing ExceptionHttpURLConnection FixedLength 和 setChunked 抛出异常
【发布时间】:2013-01-28 20:24:47
【问题描述】:

我制作了一个 Android Applicatiob 来将视频上传到我的服务器,它工作正常,但如果文件大于 21MB,它会被强制关闭。 所以我认为这是一个内存问题,我尝试使用 setFixedLengthStreamingMode 方法

        conn.setFixedLengthStreamingMode((int) new File(existingFileName).length()); 

但它根本不适用于小文件和大文件。 我将值传递给 Log 以确保它的文件大小(以字节为单位)是正确的,但该方法不起作用 我尝试使用此行将连接转换为块模式

        conn.setChunkedStreamingMode(100);

而且这一行也使应用程序失败 所以我不知道该怎么办

【问题讨论】:

    标签: android httpurlconnection


    【解决方案1】:

    您可能正在将整个文件加载到内存中。此链接可能有助于解决您的问题https://stackoverflow.com/a/9630475/830945

    【讨论】:

    • 使用 setChunkedStreamingMode 导致 NullPointerException 我这个答案正在使用它。
    • 可能是一些服务器限制,因为我已经成功使用了该方法。但是,如果您想再尝试一次 setFixedLengthStreamingMode(length),那么您必须提供完整的标头长度,而不仅仅是文件长度,即长度=headerSize+fileSize。还有许多其他未解决的帖子有类似的问题。或者,如果对于文件上传,您可以检查其他类,例如 FileEntity 或 Sockets!
    猜你喜欢
    • 2013-03-07
    • 1970-01-01
    • 1970-01-01
    • 2016-04-03
    • 2013-05-24
    • 2013-06-24
    • 2011-09-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多