Pubblicare contenuti di un file usando HttpClient?
-
22-07-2019 - |
Domanda
Voglio inviare il contenuto di un file come parte di una richiesta http usando Apache HttpClient e non sono riuscito a capire come trasmettere il contenuto del file nel corpo della richiesta.
Soluzione
Non hai specificato il formato ....
Molto probabilmente, si desidera inviare una richiesta POST, il contenuto sarà multipart / form-data tipo MIME. Questo emula ciò che un browser invia da un & Lt; INPUT type = & Quot; file & Quot; ... gt &; elemento di forma. Ciò richiede un'analisi piuttosto sofisticata sul lato server per estrarre le parti multiple dal corpo ed estrarre correttamente i dati del file dagli altri campi (se presenti). Fortunatamente, commons-fileupload lo fa perfettamente. La prima risposta riguardante FilePart ha esattamente ragione.
In alternativa, puoi semplicemente pubblicare i contenuti non elaborati di un file come corpo della richiesta utilizzando un InputStreamRequestEntity . Questo potrebbe essere molto più semplice se stai scrivendo il tuo lato server per ricevere i dati. Il lato server è semplice come lo streaming dell'InputStream della richiesta su disco. Uso questa tecnica per i caricamenti con Google Gears.
Altri suggerimenti
Scopri FilePart e relativi.