Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

kako poslati file preko http-a koristeci javu

[es] :: Java :: kako poslati file preko http-a koristeci javu

[ Pregleda: 2477 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

malo_nj
novi sad

Član broj: 140825
Poruke: 104
94.189.224.*

Sajt: www.2advanced.com


Profil

icon kako poslati file preko http-a koristeci javu29.12.2008. u 00:16 - pre 186 meseci
Ok ovako pokusavam uplodovati xml file na jednu stranicu evo koda stranice

<body>
<hr>
<form action="/tim6shop/ListServlet" enctype="multipart/form-data" method="post">
<table cellspacing="2" cellpadding="0" border="0">
<tbody>
<tr>
<td>File:</td>
<td><input type="file" name="file" size="25"></td>
</tr>

<tr>
<td>&nbsp;</td>
<td><input type="submit" value="Submit"></td>
</tr>
</tbody>
</table>
</form>

<p><a href ="/tim6shop/Download?naziv=Odgovor.xml&verzija=">Download xml odgovora</a></p>

<p><a href="index.jsp">Nazad</a></p>
</body>


kako da napisem kod da posalje file. Evo stvari koje sam do sada pokusao


RequestEntity entity = new FileRequestEntity(ufile, "text/xml; charset=ISO-8859-1");


//nisam siguran koji url da pozivam uploadXML.jsp ili ListServlet
PostMethod uploadxml = new PostMethod("/tim6shop/ListServlet");
PostMethod uploadxml = new PostMethod("/tim6shop/uploadXML.jsp");

uploadxml.setRequestEntity(entity);


NameValuePair file = new NameValuePair("file", ".\\xmldata\\listaKomponentiZahtev.xml");
NameValuePair submit = new NameValuePair("submit", "Submit");
uploadxml.setRequestBody(new NameValuePair[] {file,submit});

File input =new File("c:\\nj.xml");

InputStream body = (InputStream) getClass().getResourceAsStream("c:\\nj.xml");
uploadxml.setRequestBody(body);


client.executeMethod(uploadxml);




i pokusao sam jos sa nekom klasom koju sam nasao na netu HTTP_post koja je koristila URLConection i DataOutputStream ali ni sa njom nisam daleko dogurao.



 
Odgovor na temu

gajo2
Budapest

Član broj: 62614
Poruke: 518
93.86.77.*

Sajt: b.flyingoranges.com


+117 Profil

icon Re: kako poslati file preko http-a koristeci javu29.12.2008. u 10:32 - pre 186 meseci
Imas primer na HttpClientovom sajtu, bas za upload XML-a: http://svn.apache.org/viewvc/h...evision=608014&view=markup

Ako zelis da uploadujes fajl i jos neke parametre, ili vise fajlova, onda koristi Multipart upload, mada kako vidim tebi ovo tu nije potrebno. Za svaki fajl ili parametar napravis jedan Part, i od array-a Partova napravis MultipartRequestEntity, koji prosledis post metodi. Imas i za to primer, samo je malo bezveze napisan...
 
Odgovor na temu

malo_nj
novi sad

Član broj: 140825
Poruke: 104
94.189.224.*

Sajt: www.2advanced.com


Profil

icon Re: kako poslati file preko http-a koristeci javu29.12.2008. u 16:08 - pre 186 meseci
pokusao sam ja to sa apache sajta imam vec u kodu sto sam poslao


RequestEntity entity = new FileRequestEntity(ufile, "text/xml; charset=ISO-8859-1");


//nisam siguran koji url da pozivam uploadXML.jsp ili ListServlet
PostMethod uploadxml = new PostMethod("/tim6shop/ListServlet");
PostMethod uploadxml = new PostMethod("/tim6shop/uploadXML.jsp");

uploadxml.setRequestEntity(entity);


ali mi ne radi trebam neku drugu ideju ili ako mi neko moze objasniti kako da debugujem to korak po korak samo sam skontao da mi vrati http status i da vidim da li je proslo nista sem toga. Dobijem ja http status 200 (OK) ali svedno mi ne uradi upload.
 
Odgovor na temu

gajo2
Budapest

Član broj: 62614
Poruke: 518
93.86.77.*

Sajt: b.flyingoranges.com


+117 Profil

icon Re: kako poslati file preko http-a koristeci javu30.12.2008. u 13:38 - pre 186 meseci
Citat:
malo_nj: pokusao sam ja to sa apache sajta imam vec u kodu sto sam poslao


RequestEntity entity = new FileRequestEntity(ufile, "text/xml; charset=ISO-8859-1");


//nisam siguran koji url da pozivam uploadXML.jsp ili ListServlet
PostMethod uploadxml = new PostMethod("/tim6shop/ListServlet");
PostMethod uploadxml = new PostMethod("/tim6shop/uploadXML.jsp");

uploadxml.setRequestEntity(entity);


ali mi ne radi trebam neku drugu ideju ili ako mi neko moze objasniti kako da debugujem to korak po korak samo sam skontao da mi vrati http status i da vidim da li je proslo nista sem toga. Dobijem ja http status 200 (OK) ali svedno mi ne uradi upload.


Pa nisi ti to dobro prekopirao onda. Kao prvo, ne mozes dva puta napisati
Code:
PostMethod uploadxml = new PostMethod("/tim6shop/ListServlet");
PostMethod uploadxml = 
Zato sto ne mozes deklarisati promenljivu sa istim imenom u istom blokom dva puta. Tako da sumnjam da ti se ovaj kod uopste iskompajlira...

Zatim, na linku koji sam ti dao imas kompletno resenje kako da posaljes XML na svoj server. Ne znam da li si uopste pogledao taj link, tako da ti ovde citiram relevantan deo:
Code:
        File input = new File(strXMLFilename);
        // Prepare HTTP post
        PostMethod post = new PostMethod(strURL);
        // Request content will be retrieved directly
        // from the input stream
        RequestEntity entity = new FileRequestEntity(input, "text/xml; charset=ISO-8859-1");
        post.setRequestEntity(entity);
        // Get HTTP client
        HttpClient httpclient = new HttpClient();
        // Execute request
        try {
            int result = httpclient.executeMethod(post);
            // Display status code
            System.out.println("Response status code: " + result);
            // Display response
            System.out.println("Response body: ");
            System.out.println(post.getResponseBodyAsString());
        } finally {
            // Release current connection to the connection pool once you are done
            post.releaseConnection();
        }

Sad samo definisi strURL i strXMLFilename i radice ti sve.

A imas i onaj drugi primer, sa Partovima, relevantan kod je ovaj:
Code:
                    PostMethod filePost = new PostMethod(targetURL);
                    try {
                        appendMessage("Uploading " + targetFile.getName() + " to " + targetURL);
                        Part[] parts = {
                            new FilePart(targetFile.getName(), targetFile)
                        };
                        filePost.setRequestEntity(
                            new MultipartRequestEntity(parts, filePost.getParams())
                            );
                        HttpClient client = new HttpClient();
                        client.getHttpConnectionManager().
                            getParams().setConnectionTimeout(5000);
                        int status = client.executeMethod(filePost);

Open napises samo targetFile i targetURL...
 
Odgovor na temu

malo_nj
novi sad

Član broj: 140825
Poruke: 104
94.189.224.*

Sajt: www.2advanced.com


Profil

icon Re: kako poslati file preko http-a koristeci javu30.12.2008. u 17:26 - pre 186 meseci
e vako imam dvije promjenjive istog imena zato sto sam samo kopirao iz koda sta sam pokusavao. Obicno ono kad eclipse il sta vec korisitim kaze this name allready nesto ja kontam da to ne valja. Nego isao sam na apache sajt za commons http client ima PostXML primjer koji sam probao i ne radi. Ovaj sa file part sam pokusao isto al ne bas taj primjer sad cu i njega probati. strURL i strXMLFilename su obicni stringovi i tako sam vec uradio necu da te napadam al da si pokledao vidio bi da je ovo sto sam ja poslao i ono sto je kod njih isto. e sad za duple promjenjive jos nesto ako nisi vidio nedje napisah da meni to sve uradi nesto znaci kad pustim metodu da radi posao ona mi vrati status 200 sto znaci da je uradila nesto al nije ono sto ja ocekujem.
 
Odgovor na temu

malo_nj
novi sad

Član broj: 140825
Poruke: 104
94.189.224.*

Sajt: www.2advanced.com


Profil

icon Re: kako poslati file preko http-a koristeci javu30.12.2008. u 17:42 - pre 186 meseci
ovo drugo resenje sa file partom radi zahvaljujem.

[Ovu poruku je menjao malo_nj dana 30.12.2008. u 18:56 GMT+1]
 
Odgovor na temu

bgd2500

Član broj: 55912
Poruke: 226
*.finsoft.co.yu.



+7 Profil

icon Re: kako poslati file preko http-a koristeci javu08.01.2009. u 15:42 - pre 186 meseci
http://commons.apache.org/fileupload/
 
Odgovor na temu

[es] :: Java :: kako poslati file preko http-a koristeci javu

[ Pregleda: 2477 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.