Newsgroup: it.comp.java
Titolo: Apache commons http client

Salve a tutti,
non riesco a trovare documentazione chiara su come utilizzare queste
librerie per fare un post multipart/form-data, qualcuno ha avuto
esperienza?
Grazie in anticipo 
gl

Ciao,
io le Apache Commons le ho solo provate ma mi sembravano un pochetto un 
"casino", mi sono trovato molto bene invece con
http://www.servlets.com/cos/index.html
Spero di esserti stato utile,
Eta

 esperienza?
Io le ho usate, ma non per questo. Le usavo per simulare un accesso web 
per del test di velocità di risposta (in pratica facevo in modo che 
facesse il login e un paio di ricerche su una mia web-application); se 
ben ricordo la documentazione era abbastanza chiara, se ci si metteva 
nell'ottica di simulare quello che farebbe un umano pigiando i vari 
bottoni nel browser o, meglio, nella pagina web.
Per ricevere il multipart io (molto tempo fa) ho usato le librerie 
(cos.jar) della oreilly; ma a te serve inviare un post o riceverlo ?
bye
DKano

DKano

Sembra che ily abbia detto :

Vai su 
apache.org
 e cerchi commons-fileupload-1.0.jar trovi tutto, 
compresa la documentazione
Ecco un esempio di utilizzo
package fileweb;
import java.io.*;
import javax.servlet.http.*;
import java.util.*;
import org.apache.commons.fileupload.*;
import AbstractGestioneErrori.*;
public class FileForm {
    private String fileerrori ="";
    private String path ="";
    private String nomefile ="";
    private String tipofile ="";
    private String nuovonomefile ="";
    private String nomeform ="";
    private String[] nomifiles;
    private String[] nuovinomifiles;
    private String[] nomicampi;
    private String nomecampo;
    private Boolean flagnuovinomi = Boolean.FALSE;
    private HttpServletRequest request;
    private GestioneErrori myGE;
    private DiskFileUpload fu;
    private List lf;
    public FileForm(HttpServletRequest request) {
        this.request = request;
        fu = new DiskFileUpload();
        try {
            lf = fu.parseRequest( this.request );
       } catch(Exception e)  {
            try {
                PrintStream out = new PrintStream(fileerrori);
                myGE.stampaErrori(out, e);
                out.close();
            } catch (Exception e1) {
            }
        }
    }
    public void setNomicampifiles(String[] nomicampi) {
        this.nomicampi = nomicampi;
    }
    public void setFileerrori(String fileerrori) {
        this.fileerrori = fileerrori;
    }
    public void setNomecampofile(String nomecampo) {
        this.nomecampo = nomecampo;
    }
    public void setNomeform(String nomeform) {
        this.nomeform = nomeform;
    }
    public void setFlagnuovinomi(Boolean flagnuovinomi) {
        this.flagnuovinomi = flagnuovinomi;
    }
    public void setPathlocalifiles(String path) {
        this.path = path;
    }
    public void salvafile() {
        try {
            fu.setRepositoryPath( path );
            FileItem fi;
            int i;
            for( i=0; i<lf.size(); i++){
                fi = (FileItem)lf.get(i);
                if (fi.getFieldName().equals(nomecampo)) {
                    if ( nuovonomefile.equals("")) nuovonomefile = 
fi.getName();
                    fi.write( new File (path + nuovonomefile) );
                }
            }
        } catch(Exception e)  {
            try {
                PrintStream out = new PrintStream(fileerrori);
                myGE.stampaErrori(out, e);
                out.close();
            } catch (Exception e1) {
            }
        }
    }
    public void salvafiles() {
        String nometemp = "";
        try {
            fu.setRepositoryPath( path );
            FileItem fi;
            int i,j;
            for( i=0; i<lf.size(); i++){
                fi = (FileItem)lf.get(i);
                for ( j=0;j<nomicampi.length;j++) {
                    if (fi.getFieldName().equals(nomicampi[j])) {
                        if ( flagnuovinomi == Boolean.TRUE) nometemp = 
nuovinomifiles[j];
                            else nometemp = fi.getName();
                        fi.write( new File (path + nometemp) );
                    }
                }
            }
        } catch(Exception e)  {
            try {
                PrintStream out = new PrintStream(fileerrori);
                myGE.stampaErrori(out, e);
                out.close();
            } catch (Exception e1) {
            }
        }
    }
    public ArrayList getValoricampi() {
        ArrayList rt = new ArrayList();
        try {
            FileItem fi;
            int i;
            for( i=0; i<lf.size(); i++){
                fi = (FileItem)lf.get(i);
                if ( !fi.getContentType().toLowerCase().equals("file") 
)
                    rt.add( new String [] { fi.getFieldName(), 
fi.getString() });
                }
        } catch(Exception e)  {
            try {
                PrintStream out = new PrintStream(fileerrori);
                myGE.stampaErrori(out, e);
                out.close();
            } catch (Exception e1) {
            }
        }
        return rt;
    }
    public String getValorecampo( String nomecampo ) {
        String rt = "";
        try {
            FileItem fi;
            int i;
            for( i=0; i<lf.size(); i++){
                fi = (FileItem)lf.get(i);
                if (fi.getFieldName().equals(nomecampo)) {
                    rt = fi.getString() ;
                }
            }
        } catch(Exception e)  {
            try {
                PrintStream out = new PrintStream(fileerrori);
                myGE.stampaErrori(out, e);
                out.close();
            } catch (Exception e1) {
            }
        }
        return rt;
    }
}
-- 
Questa è una firma automatica di MesNews.
Sito: 
http://www.mesnews.net