Je suis en train de développer un client Http qui télécharge un fichier avec HttpComponents:question ContentType avec commons-upload et httpcomponent client
HttpPost httppost = new HttpPost(myURL);
httppost.setHeader("Content-type",
"multipart/form-data; boundary=stackoverflow");
httppost.setHeader("Accept", "text/xml");
MultipartEntity reqEntity = new multipartEntity(
HttpMultipartMode.BROWSER_COMPATIBLE,"stackoverflow",
Charset.forName("UTF-8"));
FileBody bin = new FileBody(myFile);
reqEntity.addPart("File", bin);
httppost.setEntity(reqEntity);
HttpResponse response = client.execute(httppost);
côté serveur, il existe une méthode
doPost(HttpServletRequest request, HttpServletResponse response)
qui analyser la requête:
FileItemFactory factory = new DiskFileItemFactory(204800, new File(
uploadDirectory));
ServletFileUpload fileUpload = new ServletFileUpload(factory);
try {
List<FileItem> items = fileUpload.parseRequest(request);
Iterator<FileItem> itemIterator = items.iterator();
while (itemIterator.hasNext()) {
FileItem item = itemIterator.next();
....
Cela fonctionne très bien, mais le problème est que le type de contenu de mon FileItem i s null et j'ai une NullPointerException plus tard. Cependant, quand je fais bin.getContentType() du côté client, je reçois "text/xml".
Est-ce que quelqu'un sait quand ce type de contenu est perdu et comment résoudre ce problème?
Cela fonctionne parfaitement. Merci beaucoup! – user299957