[java] file post

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo,

Ik zit al tijdje te prutsen om een file via java te posten naar een php-file.
Telkens geeft hij terug dat het chuncked is. Wat doe ik fout?

Java:
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
46
47
48
49
50
51
 
package org.apache.http.examples.entity.mime;

import java.io.File;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.mime.MultipartEntity;
import org.apache.http.entity.mime.content.FileBody;
import org.apache.http.entity.mime.content.StringBody;
import org.apache.http.impl.client.DefaultHttpClient;

/**
 * Example how to use multipart/form encoded POST request.
 */
public class FtpConnection{

    public FtpConnection(String file) throws Exception {
      
        HttpClient httpclient = new DefaultHttpClient();

        HttpPost httppost = new HttpPost("link naar php file");

        FileBody bin = new FileBody(new File(file));
        StringBody comment = new StringBody("A binary file of some kind");

        MultipartEntity reqEntity = new MultipartEntity();
        reqEntity.addPart("bin", bin);
        reqEntity.addPart("comment", comment);
        
        httppost.setEntity(reqEntity);
        
        System.out.println("executing request " + httppost.getRequestLine());
        HttpResponse response = httpclient.execute(httppost);
        HttpEntity resEntity = response.getEntity();

        System.out.println("----------------------------------------");
        System.out.println(response.getStatusLine());
        if (resEntity != null) {
            System.out.println("Response content length: " + resEntity.getContentLength());
            System.out.println("Chunked?: " + resEntity.isChunked());
        }
        if (resEntity != null) {
            resEntity.consumeContent();
        }
    }
    
}
 


en dan naar deze php-file:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 

<?php
$target_path = "uploads/";

$target_path = $target_path . basename( $_FILES['uploadedfile']['name']);

if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
    echo "The file ".  basename( $_FILES['uploadedfile']['name']).
    " has been uploaded";
} else{
    echo "There was an error uploading the file, please try again!";
}

?>


merci :)

Acties:
  • 0 Henk 'm!

  • Tim_bots
  • Registratie: April 2004
  • Laatst online: 20-08 08:10
Als ik de wikipedia erbij pak dan ziet het er naar uit dat het gewoon een manier van versturen is en verder geen problemen op zou mogen leveren.

Mijn voorstel is probeer het eens met een (heel) klein bestandje (een .txt met 1 teken bijvoorbeeld) en krijg je het dan nog?
Komt het bestand wel goed aan op de server?

Als ik simpel denk zou ik zoiets hebben dat het geen probleem is zolang het resultaat maar goed is.

just my 2ct

Alvast hartelijk bedankt voor al jullie hulp en reacties, Tim Bots


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb even geprobeerd met een klein bestandje en het komt niet toe op de server? Is er dan een fout in mijn php script? De map uploads heb ik aangemaakt... dus dat kan ook niet het probleem zijn. Daarom dacht ik dat het iets met die chuncked zou te maken hebben... maar blijkbaar niet.

Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 01:53
Verwijderd schreef op donderdag 03 december 2009 @ 14:06:
Telkens geeft hij terug dat het chuncked is.
WTF bedoel je hier mee? Wie is "hij" en wat zegt de foutmelding precies?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
hij is de compiler sorry. Het is niet echt een foutmelding gewoon wat debuginfo. Ik dacht dat het feit dat chuncked = true dat daarom mijn file niet upgeload was. Maar blijkbaar is dit de fout niet. Ik heb geen compileer fouten alles doet hij perfect alleen wordt de file niet upgeload want ik zie die file niet staan.

[ Voor 59% gewijzigd door Verwijderd op 03-12-2009 15:38 ]


Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 01:53
De Java compiler klaagt over "chunked = true"? Ik geloof er niet veel van. ;)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
je begrijpt me verkeerd begrepen, ik heb het niet goed uitgedrukt.
Er zijn een paar debugregels in mijn programma.

System.out.println("executing request " + httppost.getRequestLine());
System.out.println(response.getStatusLine());
System.out.println("Response content length: " + resEntity.getContentLength());
etc

Dit printte dat chuncked = true was, dus ik dacht dat het daaraan lag dat mijn files niet upgeload waren. Blijkbaar is dit niet zo erg. Dus is mijn vraag nu waaraan het wel ligt?

Acties:
  • 0 Henk 'm!

  • Nick_S
  • Registratie: Juni 2003
  • Laatst online: 17-09 12:49

Nick_S

++?????++ Out of Cheese Error

Eerst even over dat chunked (zonder 'c'): Wikipedia: Chunked transfer encoding

En ga daarna eens kijken naar waar de fout ligt. Ligt dat aan je PHP kant of aan je Java kant. Wordt er iets verzonden? Komt er iets aan?

Ik zie dat je je response status uitprint. Wat zegt deze? Heb je deze al opgezocht binnen het http protocol?

Waarom heet je klasse FTPConnection, terwijl je alles met http doet?

Oftewel, je hebt nog heel wat vragen te beantwoorden, ga dus eerst zelf goed kijken naar wat je doet, en lees daar ook even de documentatie van. (Bijvoorbeeld de API van HTTPClient)

'Nae King! Nae quin! Nae Laird! Nae master! We willna' be fooled agin!'

Pagina: 1