1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
public void doPost (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
/** récupère la date courante **/
Date d = new Date();
/** forge une chaine de caractère contenant la date **/
String timestamp = new String(d.getMinutes() + "-" + d.getSeconds());
/** crée un nouveau multipart parser, la taille des objets parsés étant de 10 MB au maximum **/
MultipartParser mp = new MultipartParser(request, 10*1024*1024); // 10MB
Part part;
/** itére tous les parties **/
while ((part = mp.readNextPart()) != null) {
/** s'il s'agit du fichier **/
if (part.getName().equals("infile")) {
/** recupere les données sous la forme d'un FilePart **/
FilePart filePart = (FilePart) part;
String fileName = filePart.getFileName();
/** recopie dans un nouveau fichier **/
if (fileName != null) {
long size = filePart.writeTo(new File("/tmp/data" + timestamp));
break;
}
/** s'il s'agit de la zone de texte **/
} else if (part.getName().equals("indata")) {
/** recupere les données sous la forme d'un objet ParamPart **/
ParamPart paramPart = (ParamPart) part;
/** récupere la valeur du champ "indata" **/
String indata = paramPart.getStringValue();
/** pour écrire dans un fichier **/
PrintWriter fos = new PrintWriter(new FileWriter("/tmp/data" + timestamp));
fos.print(indata);
fos.close();
}
}
} |