我想将一个txt文件上传到一个网站,我承认我没有详细研究它,但我已经看了几个例子,并希望有更多经验丰富的意见,我是否会进去正确的方向。
这是我到目前为止所做的:
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpContext localContext = new BasicHttpContext();
private String ret;
HttpResponse response = null;
HttpPost httpPost = null;
public String postPage(String url, String data, boolean returnAddr) {
ret = null;
httpClient.getParams().setParameter(ClientPNames.COOKIE_POLICY, CookiePolicy.RFC_2109);
httpPost = new HttpPost(url);
response = null;
StringEntity tmp = null;
try {
tmp = new StringEntity(data,"UTF-8");
} catch (UnsupportedEncodingException e) {
System.out.println("HTTPHelp : UnsupportedEncodingException : "+e);
}
httpPost.setEntity(tmp);
try {
response = httpClient.execute(httpPost,localContext);
} catch (ClientProtocolException e) {
System.out.println("HTTPHelp : ClientProtocolException : "+e);
} catch (IOException e) {
System.out.println("HTTPHelp : IOException : "+e);
}
ret = response.getStatusLine().toString();
return ret;
}
我称之为:
postPage("http://www.testwebsite.com", "data/data/com.testxmlpost.xml/files/logging.txt", true));
我希望能够将文件从设备上传到网站。
但是当我尝试这种方式时,我得到了以下回复。
HTTP/1.1 405 Method Not Allowed
我是否尝试了正确的方式,还是应该采取另一种方式?
答案 0 :(得分:3)
该代码看起来合理,错误来自服务器并指示该页面不允许POST。
您正在发送文字字符串“data / data / com.testxmlpost.xml / files / logging.txt”。如果您要发布文件,请使用FileEntity
。