我想从我的Android应用程序发送的压缩文件到我们的服务器,我不断收到一个411长度所需错误发送文件与参数一起。如何通过http
这里是我使用这样做的代码。
HttpPost post = new HttpPost("http://www.xyz.org/upload.json");
post.setHeader(C.constants.HTTP_CONTENT_TYPE, "application/octet-stream");
try {
FileInputStream fis = new FileInputStream("/data/data/org.myapp.appname/app_content.zip");
InputStreamEntity reqEntity = new InputStreamEntity(fis, -1);
post.setEntity(reqEntity);
String response = doPost(post);
Log.v(tag, "response from server " + response);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
我在做什么错在这里,我可能也知道如何添加更多参数与这篇文章发送到服务器。
我没有一个明确的答案,但有一件事你做错了,是使用硬编码路径('/数据/数据...')。改为使用FileInputStream fis = openFileInput(“app_content.zip”)。 – Squonk
此外,您可以多次使用'setHeader(String name,String value)'。只要'name'是唯一的,它只需将新标题追加到标题列表的末尾。 – Squonk
@Squonk:我非常肯定Android上的文件路径是正确的。这就是与我的应用程序相关的文件的位置。感谢您关于设置PARAMS作为标题建议,但我不想这样做,因为我们正在尽快改变这种作为可来自全国各地不同的操作系统的设备进行访问,并希望这样做的正确方法的API计划。 :) – achie