Użyj POST HttpClient, aby przesłać formularz z przesłaniem
Mam formularz HTML, który wygląda mniej więcej tak:
<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>
Chcę napisać moduł Java, który automatyzuje tworzenie produktu. Oto, co już mam:
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);
Działa to dobrze, jest w stanie stworzyć nowy produkt o nazwie „Produkt1”. Ale nie wiem, jak poradzić sobie z częścią do przesyłania. Chciałbym, żeby coś wyglądało tak:
data.add(new BasicNameValuePair("product[name]", "Product1"));
ale zamiast „Product1” jest to plik. Przeczytałem dokumentację HttpClient mówi się, że jest tylko łańcuch.
Czy ktoś wie, jak poradzić sobie z częścią do przesyłania?