gpt4 book ai didi

Android HttpUrlConnection 发布图片 - 内容长度应该指的是什么?

转载 作者:行者123 更新时间:2023-11-29 00:33:33 24 4
gpt4 key购买 nike

我意识到这个问题类似于 this one但我认为我的情况不同,因为我正在尝试发布图片。

我正在从 Android Activity 将图像上传到服务器,并且在某些设备上上传时收到“411 - 需要长度”的错误报告。我无法在此处重现该错误,但用户已在不同的国家/地区使用与我们能够测试的设备不同的设备报告了此错误。

我们在附加了一些参数的 URL 上打开一个 HttpUrlConnection。这些是字符串和 UUID。它看起来像这样:

http://ourdomainname.net/OurMobileServices/ImageUploadhandler.ashx?filename=image20121220_120734_-901992324.jpeg&username=testusername&note=&uploadid=b4a1c35b-b869-4f7e-a645-6a4a180f0985&taskid=7f02deb8-c078-45c4-bc37-99e418e8cdf9

然后我们使用 getOutputStream 获取一个 OutputStream,我们将图像文件字节写入其中。

我一直在寻找有关 411 错误的信息并在 HttpUrlConnection 对象上设置内容长度。似乎我可以将内容长度设置为请求属性,例如:

connection.setRequestProperty("Content-Length", String.valueOf(<mycomputedInt>));

或者我可以使用:

connection.setFixedLengthStreamingMode() 

里面有内容的长度。

我的问题是:内容长度应该衡量什么?它指的是:

a) 包含参数的整个 URL?

b) URL 编码参数?

c) 我正在上传的图像的字节数组的长度?

d) 图像字节数组的长度,以及 URL 编码的参数?

e) 完全是别的东西?

如果需要,我可以发布代码或更多详细信息 - 我只是对此感到很困惑,无法在本地重现错误。我可以从模拟器、手机和平板电脑上传图片。任何帮助将不胜感激,谢谢。

最佳答案

Content-Length 应该是您写入 OutputStream 的内容的长度。所以在这种情况下,答案是 C。

我认为this site非常清楚地解释了 HTTP 请求的结构,您可能会发现它很有帮助。

关于Android HttpUrlConnection 发布图片 - 内容长度应该指的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13972202/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com