上传文件比添加名称-值对更复杂。您需要获得请求的输出流并编写文件。您可以在此处找到一个示例。
我正在开发一个帮助台应用程序,在这个应用程序中,我可以阅读并回复客户发送的票证。现在我有一个要求,我还必须上传一个文件。我有一个帖子url来回复机票,我会使用Namevaluepairs来附加带有url的消息。。
nameValuepair("id",ticketId);(nameValuepair is the instance of BasicNameValuePair)
nameValuepair("subject",subject);
nameValuepair("reply",message);
如果文件不在那里,那么它将像上面的代码一样。如果文件在那里,我会为文件再提供一个参数。我要做的是附加一个文件并对其进行编码,然后将其包含到Namevaluepair中。。。
nameValuepair("file",encodedfile);
如何将文件上载到此应用程序并对其进行编码。我得到了一些资源,使用电子邮件意向将文件附加到默认的android电子邮件客户端,这对我没有帮助。提前感谢
Apache使用Http客户端及其POST方法:
DefaultHttpClient httpclient = appContext.GetHttpClient();
HttpPost httppost = new HttpPost("your.url.com");
httppost.setEntity(new FileEntity(yourFile, PLAIN_TEXT_TYPE));
HttpResponse response = httpclient.execute(httppost);
InputStream responseStream = new ByteArrayInputStream(responseString.getBytes("UTF-8"));