Используйте HttpClient POST для отправки формы с загрузкой

У меня есть html-форма, которая выглядит примерно так:

<div class="field>
  <input id="product_name" name="product[name]" size="30" type="text"/>
</div>

<div class="field>
  <input id="product_picture" name="product[picture]" size="30" type="file"/>
</div>

Я хочу написать модуль Java, который автоматизирует создание продукта. Вот что у меня уже есть:

HttpHost host = new HttpHost("localhost", 3000, "http");
HttpPost httpPost = new HttpPost("/products");
List<BasicNameValuePair> data = new ArrayList<BasicNameValuePair>();
data.add(new BasicNameValuePair("product[name]", "Product1"));
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(data, "UTF-8");
httpPost.setEntity(entity);
HttpResponse postResponse = httpClient.execute(host, httpPost); 

Это отлично работает, он может создать новый продукт с именем «Product1». Но я не знаю, как обрабатывать часть загрузки. Я бы хотел что-то похожее на это:

data.add(new BasicNameValuePair("product[name]", "Product1"));

но вместо "Product1" это файл. Я читал документацию HttpClient, там сказано, что есть только строка.

Кто-нибудь знает, как обрабатывать часть загрузки?

5
задан u19964 18 July 2012 в 17:00
поделиться