Используйте 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, где сказано, что это единственная строка.
Кто-нибудь знает, как обрабатывать загрузку?