Как прикрепить файл к URL поста в Android - PullRequest
1 голос
/ 17 января 2012

Я занимаюсь разработкой приложения Helpdesk, в этом приложении я могу читать и отвечать на билеты, отправленные клиентом. Теперь у меня есть требование, я также должен загрузить файл. У меня есть почтовый URL, чтобы ответить за тикет, я буду использовать Namevaluepairs, чтобы прикрепить сообщение с URL.

nameValuepair("id",ticketId);(nameValuepair is the instance of BasicNameValuePair)
nameValuepair("subject",subject);
nameValuepair("reply",message);

Если файла нет, он будет похож на приведенный выше код. Если файл есть, я добавляю еще один параметр для файла. Что мне нужно сделать, это прикрепить файл и закодировать его, а затем включить его в Namevaluepair ...

nameValuepair("file",encodedfile);

Как я могу загрузить файл в это приложение и закодировать его. Я получил некоторые ресурсы, чтобы прикрепить файл к почтовому клиенту Android по умолчанию с помощью электронной почты, но это не помогло мне. Заранее спасибо

Ответы [ 2 ]

3 голосов
/ 17 января 2012

Загрузка файла сложнее, чем добавление пары имя-значение.Вам нужно получить выходной поток запроса и записать файл.Вы можете найти пример здесь .

1 голос
/ 17 января 2012

Используйте Http-клиент от Apache и его метод 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"));
...