Bonjour
Je souhaite uploder une série de fichiers par HtmlUnit.
Pour ce faire, je récupère, sur le site, l'élément inputfile (multiple) et je charge les fichiers.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
HtmlFileInput inputFile = (HtmlFileInput)lop.get(0); // Récup de l'input file
File file1 = new File("c:/tmp/fil01.txt"); // fichier de test (24 bytes)
File file2 = new File("c:/tmp/fil02.txt"); // Fichier de test (24 bytes)
inputFile.setFiles(file1,file2); // On charge , l'upload démarre immédiatement
Normalement, les 2 fichiers devraient être uploadé (C'est ce qui se passe quand je le fais manuellement) mais pas avec htmlunit
2022-02-22 23:34:33,310 INFO c.g.h.NicelyResynchronizingAjaxController [main] Re-synchronized call to https://xxxxxxxxxxxxxxxxxxxxxxxxxxx/...7.5.0&v-uiId=0
2022-02-22 23:34:33,710 INFO c.g.h.NicelyResynchronizingAjaxController [main] Re-synchronized call to https://xxxxxxxxxxxxxxxxxxxxxxxxxxx:...-seefx/~/?ping
2022-02-22 23:34:33,783 INFO c.g.h.WebConsole$DefaultLogger [main] setFileOffset: id = fil01-txt_1645569273303 and offset = 0
2022-02-22 23:34:33,784 INFO c.g.h.WebConsole$DefaultLogger [main] setFileName: id = fil01-txt_1645569273303 and fileName = fil01_1.txt
2022-02-22 23:34:33,785 INFO c.g.h.WebConsole$DefaultLogger [main] postNextFileFromQueue: paused = false
2022-02-22 23:34:33,786 INFO c.g.h.NicelyResynchronizingAjaxController [main] Re-synchronized call to https://xxxxxxxxxxxxxxxxxxxxxxxxxxx/...1-c19da4582c77
2022-02-22 23:34:33,955 INFO c.g.h.WebConsole$DefaultLogger [main] setFileOffset: id = fil02-txt_1645569273305 and offset = 0
2022-02-22 23:34:33,956 INFO c.g.h.WebConsole$DefaultLogger [main] setFileName: id = fil02-txt_1645569273305 and fileName = fil02_1.txt
2022-02-22 23:34:33,958 INFO c.g.h.WebConsole$DefaultLogger [main] postNextFileFromQueue: paused = false
2022-02-22 23:34:33,960 INFO c.g.h.NicelyResynchronizingAjaxController [main] Re-synchronized call to https://xxxxxxxxxxxxxxxxxxxxxxxxxxx/...3-b820daeff70f
2022-02-22 23:34:35,264 INFO c.g.h.WebConsole$DefaultLogger [JS executor for com.gargoylesoftware.htmlunit.WebClient@644ded04] uploadStarted fil01_1.txt Postponed offset: 0
2022-02-22 23:34:35,264 INFO c.g.h.WebConsole$DefaultLogger [JS executor for com.gargoylesoftware.htmlunit.WebClient@644ded04] setFileOffset: id = fil01-txt_1645569273303 and offset = 0
2022-02-22 23:34:35,266 INFO c.g.h.WebConsole$DefaultLogger [JS executor for com.gargoylesoftware.htmlunit.WebClient@644ded04] setFileName: id = fil01-txt_1645569273303 and fileName = fil01_1.txt
2022-02-22 23:34:35,266 INFO c.g.h.WebConsole$DefaultLogger [JS executor for com.gargoylesoftware.htmlunit.WebClient@644ded04] postNextFileFromQueue: paused = false
2022-02-22 23:34:35,266 INFO c.g.h.WebConsole$DefaultLogger [JS executor for com.gargoylesoftware.htmlunit.WebClient@644ded04] uploadStarted fil02_1.txt Postponed offset: 0
2022-02-22 23:34:35,267 INFO c.g.h.WebConsole$DefaultLogger [JS executor for com.gargoylesoftware.htmlunit.WebClient@644ded04] setFileOffset: id = fil02-txt_1645569273305 and offset = 0
2022-02-22 23:34:35,268 INFO c.g.h.WebConsole$DefaultLogger [JS executor for com.gargoylesoftware.htmlunit.WebClient@644ded04] setFileName: id = fil02-txt_1645569273305 and fileName = fil02_1.txt
2022-02-22 23:34:35,268 INFO c.g.h.WebConsole$DefaultLogger [JS executor for com.gargoylesoftware.htmlunit.WebClient@644ded04] postNextFileFromQueue: paused = false
2022-02-22 23:34:35,722 INFO c.g.h.WebConsole$DefaultLogger [JS executor for com.gargoylesoftware.htmlunit.WebClient@644ded04] uploadStarted fil01_1.txt Running offset: 0
2022-02-22 23:34:35,725 INFO c.g.h.WebConsole$DefaultLogger [JS executor for com.gargoylesoftware.htmlunit.WebClient@644ded04] setFileOffset: id = fil01-txt_1645569273303 and offset = 0
2022-02-22 23:34:35,727 INFO c.g.h.WebConsole$DefaultLogger [JS executor for com.gargoylesoftware.htmlunit.WebClient@644ded04] setFileName: id = fil01-txt_1645569273303 and fileName = fil01_1.txt
2022-02-22 23:34:35,728 INFO c.g.h.WebConsole$DefaultLogger [JS executor for com.gargoylesoftware.htmlunit.WebClient@644ded04] postNextFileFromQueue: paused = false
2022-02-22 23:34:35,732 INFO c.g.h.WebConsole$DefaultLogger [JS executor for com.gargoylesoftware.htmlunit.WebClient@644ded04] uploadStarted fil02_1.txt Running offset: 0
2022-02-22 23:34:35,734 INFO c.g.h.WebConsole$DefaultLogger [JS executor for com.gargoylesoftware.htmlunit.WebClient@644ded04] setFileOffset: id = fil02-txt_1645569273305 and offset = 0
2022-02-22 23:34:35,736 INFO c.g.h.WebConsole$DefaultLogger [JS executor for com.gargoylesoftware.htmlunit.WebClient@644ded04] setFileName: id = fil02-txt_1645569273305 and fileName = fil02_1.txt
2022-02-22 23:34:35,737 INFO c.g.h.WebConsole$DefaultLogger [JS executor for com.gargoylesoftware.htmlunit.WebClient@644ded04] postNextFileFromQueue: paused = false
2022-02-22 23:34:36,107 INFO c.g.h.WebConsole$DefaultLogger [JS executor for com.gargoylesoftware.htmlunit.WebClient@644ded04] uploadStarted fil01_1.txt Running offset: 0
2022-02-22 23:34:36,110 INFO c.g.h.WebConsole$DefaultLogger [JS executor for com.gargoylesoftware.htmlunit.WebClient@644ded04] setFileOffset: id = fil01-txt_1645569273303 and offset = 0
2022-02-22 23:34:36,112 INFO c.g.h.WebConsole$DefaultLogger [JS executor for com.gargoylesoftware.htmlunit.WebClient@644ded04] setFileName: id = fil01-txt_1645569273303 and fileName = fil01_1.txt
2022-02-22 23:34:36,113 INFO c.g.h.WebConsole$DefaultLogger [JS executor for com.gargoylesoftware.htmlunit.WebClient@644ded04] postNextFileFromQueue: paused = false
2022-02-22 23:34:36,116 INFO c.g.h.WebConsole$DefaultLogger [JS executor for com.gargoylesoftware.htmlunit.WebClient@644ded04] uploadStarted fil02_1.txt Running offset: 0
2022-02-22 23:34:36,119 INFO c.g.h.WebConsole$DefaultLogger [JS executor for com.gargoylesoftware.htmlunit.WebClient@644ded04] setFileOffset: id = fil02-txt_1645569273305 and offset = 0
2022-02-22 23:34:36,120 INFO c.g.h.WebConsole$DefaultLogger [JS executor for com.gargoylesoftware.htmlunit.WebClient@644ded04] setFileName: id = fil02-txt_1645569273305 and fileName = fil02_1.txt
2022-02-22 23:34:36,121 INFO c.g.h.WebConsole$DefaultLogger [JS executor for com.gargoylesoftware.htmlunit.WebClient@644ded04] postNextFileFromQueue: paused = false
......................................
2022-02-22 23:34:44,074 INFO c.g.h.WebConsole$DefaultLogger [JS executor for com.gargoylesoftware.htmlunit.WebClient@644ded04] uploadStarted fil01_1.txt Running offset: 0
2022-02-22 23:34:44,076 INFO c.g.h.WebConsole$DefaultLogger [JS executor for com.gargoylesoftware.htmlunit.WebClient@644ded04] setFileOffset: id = fil01-txt_1645569273303 and offset = 0
2022-02-22 23:34:44,078 INFO c.g.h.WebConsole$DefaultLogger [JS executor for com.gargoylesoftware.htmlunit.WebClient@644ded04] setFileName: id = fil01-txt_1645569273303 and fileName = fil01_1.txt
2022-02-22 23:34:44,079 INFO c.g.h.WebConsole$DefaultLogger [JS executor for com.gargoylesoftware.htmlunit.WebClient@644ded04] postNextFileFromQueue: paused = false
2022-02-22 23:34:44,081 INFO c.g.h.WebConsole$DefaultLogger [JS executor for com.gargoylesoftware.htmlunit.WebClient@644ded04] uploadStarted fil02_1.txt Running offset: 0
2022-02-22 23:34:44,083 INFO c.g.h.WebConsole$DefaultLogger [JS executor for com.gargoylesoftware.htmlunit.WebClient@644ded04] setFileOffset: id = fil02-txt_1645569273305 and offset = 0
2022-02-22 23:34:44,084 INFO c.g.h.WebConsole$DefaultLogger [JS executor for com.gargoylesoftware.htmlunit.WebClient@644ded04] setFileName: id = fil02-txt_1645569273305 and fileName = fil02_1.txt
2022-02-22 23:34:44,085 INFO c.g.h.WebConsole$DefaultLogger [JS executor for com.gargoylesoftware.htmlunit.WebClient@644ded04] postNextFileFromQueue: paused = false
J'ai , par l'outil de dev de chrome, vérifié les headers quand j'upload manuellement et Connection est bien présent et parfaitement accepté.
J'ai donc, pour faire les test, surchargé la méthode setRequestHeader pour supprimer le test sur la validité des Headers.
Je n'ai plus l'erreur mais l'upload ne se fait pas.

Sur le site target, j'ai juste le nom des fichiers (file01.txt et file02.txt) et , comme statut, ATTENTE... (Si je met des fichiers vides, le statut passe a UPLOADED, c'est donc le chargement des datas qui pose problème).

En remerciant par avance ceux qui pourront soit m'expliquer le pb, soit mieux, me donner une piste de correction.

A+

Edit
Le site target utilise un framework VADIIN qui , par défaut, rend l'upload immédiat. ceci veut dire que dés que les fichiers sont renseignés, l'upload se lance.
A+