Bilder: FTP-Upload funktioniert nicht richtig

Status
Nicht offen für weitere Antworten.

Prusik

Aktives Mitglied
Hallo zusammen
Ich habe ein Problem und zwar möchte ich dass der Benutzer Bilder von seinem Computer auswählen kann und diese danach raufladen. Und zwar werden Bilder zum Teil recht verzogen, kommen nicht ganz an, usw.
keinBild.jpg
wird
keinBild.jpg
, Was mich noch mehr verwirrt ist, dass es zum teil geht, und immer wieder andere "Effekte" gibt. Manchmal ist nur die oberste Zeile vorhanden, bei gewissen Bildern funktioniert es auch. Ich kann jedoch keine regelmässigkeit feststellen.

Die verschiedenen Klassen: Bild öffnet im Konstruktor einen JFileChooser.
Code:
import java.io.File;

import javax.swing.JFileChooser;

public class Bild {
	private File pfad;
	public Bild(BildManager m){
		JFileChooser chooser = new JFileChooser();
	    FileNameExtensionFilter filter = new FileNameExtensionFilter(
	        "JPG & GIF Images", "jpg", "gif");
	    chooser.setFileFilter(filter);
	    int returnVal = chooser.showOpenDialog(m);
	    if(returnVal == JFileChooser.APPROVE_OPTION) {
	       System.out.println("You chose to open this file: " +
	            chooser.getSelectedFile());
	       
	        setPfad(chooser.getSelectedFile());
	    }
	}
	public String toString(){
		return "Bild";
	}
	public void setPfad(File pfad) {
		this.pfad = pfad;
	}
	public File getPfad() {
		return pfad;
	}

}
FTP Connection stellt die Verbindung zum Server her und lädt die Datei hoch.
Code:
public class FTPConnection {
	FTPClient client;
	String server;
	String username;
	String pw;
	public FTPConnection(String server, String username, String pw){
		this.server = server;
		this.username=username;
		this.pw=pw;
		client = new FTPClient();

	}
	public void connect(){
		try {
			int reply;
			client.connect(server);
			client.login(username, pw);
			System.out.println("Connected to "+ server);
	    	System.out.println(client.getReplyString());
	        reply = client.getReplyCode();

	        if(!FTPReply.isPositiveCompletion(reply)) {
	          client.disconnect();
	          System.err.println("FTP server refused connection.");
	          System.exit(1);
	        }
	    	
		} catch (IOException e) {
			e.printStackTrace();
		} 		
	}
	//File hochladen
	public void putFile(String zielname, InputStream iS){
		try {
			client.storeFile(zielname, iS);
			
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	public void disconnect(){
		try {
			if(client.isConnected()){
				client.disconnect();
				System.out.println("Disconnect vom Server");
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	
	public static void main(String[] args) {
		FTPConnection ftp = new FTPConnection("********","********","********");
		ftp.connect();
		ftp.putFile("bild.jpg",ftp.getClass().getResourceAsStream("bild.JPG")); //geht auch nicht bei jedem Bild!
		
		ftp.disconnect();
	}

}
BildManager speichert ein DefaultListModel mit den Bilden. die Methode bilderUploaden() lädt alle Bilder daraus hinauf.
Code:
public class BildManager extends JFrame{
	private DefaultListModel bildList;
	public BildManager(){
		bildList = new DefaultListModel();
		this.getContentPane().setLayout(new BorderLayout());
		
		JList bildList = new JList();
		bildList.setModel(this.bildList);
		
		this.getContentPane().add(bildList, BorderLayout.CENTER);
		
		JPanel south = new JPanel();
		south.setLayout(new FlowLayout());
		
		JButton but_hinzufuegen = new JButton("Bild hinzufügen");
		but_hinzufuegen.addActionListener(new hinzufuegenListener());
		south.add(but_hinzufuegen);
		JButton but_ftp = new JButton("Veröffentlichen");
		but_ftp.addActionListener(new FTPhochladen());
		south.add(but_ftp);
		
		this.getContentPane().add(south,BorderLayout.SOUTH );
		this.setVisible(true);
		this.pack();
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
	}
	public void bildHinzufuegen(){
		bildList.addElement(new Bild(this));
		this.pack();
	}
	
	public void bilderUploaden(){
		FTPConnection ftp = new FTPConnection("********","********","********");
		ftp.connect();
		for(int i =0; i<bildList.size();i++){
			Bild b = (Bild) bildList.get(i);
			System.out.println(b.getPfad() +" hochladen");

			try {
				ftp.putFile(b.getPfad().getName(), new FileInputStream(b.getPfad()));
			} catch (FileNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		ftp.disconnect();
	}
	public static void main(String[] args) {
		BildManager m = new BildManager();
	}
	
	class hinzufuegenListener implements ActionListener{

		public void actionPerformed(ActionEvent e) {
			bildHinzufuegen();
			
		}
		
	}
	class FTPhochladen implements ActionListener{

		public void actionPerformed(ActionEvent e) {
			bilderUploaden();
			
		}
		
	}	

}
TUt mir leid, dass ich da so viel Code bringe - aber ich hab wirklich null Ahnung, was zur Lösung des Problems relevant ist. Bin für jeden Tipp dankbar.

Merci!
 
M

maki

Gast
Wahrscheinlich solltest du die Dateien im Binärformat übertragen, welche FTP API verwendest du?
 

Prusik

Aktives Mitglied
du bist super! Genau das wars! das ich nicht selbst darauf gekommen bin.. im nachhinein ist man immer gescheiter...

Code:
			client.setFileType(FTPClient.BINARY_FILE_TYPE);
einfügen und schon gehts...

und übrigens:
Code:
import org.apache.commons.net.ftp.FTPClient;
benutz ich... sei besser als das aus dem sun package...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Bilder übergeben Netzwerkprogrammierung 16
S Socket Bilder über Socket Senden Netzwerkprogrammierung 0
B Socket Bilder verschicken via Sockets. Heap-Problem. Netzwerkprogrammierung 2
B SocketChannel ByteBuffer Bilder verschicken Netzwerkprogrammierung 17
M Socket Bilder senden Netzwerkprogrammierung 1
S Bilder durch's Netzwerk usw ... Netzwerkprogrammierung 10
R Webservice und Bilder Netzwerkprogrammierung 29
TheJavaKid Bilder mit nem ObjectStream übertragen Netzwerkprogrammierung 8
F Bilder aus Internet downloaden Netzwerkprogrammierung 12
S Socket Bilder übertragen Netzwerkprogrammierung 7
M Socket Bilder über das Netzwerk übertragen Netzwerkprogrammierung 4
G Frage zu Servlets und deren Objekte + Bilder in Servlets anzeigen? Netzwerkprogrammierung 11
Benji0815 Bilder oder PDF downloaden Netzwerkprogrammierung 11
H Bilder mit HttpClient hochladen Netzwerkprogrammierung 3
A html - E-mail - Bilder Netzwerkprogrammierung 4
A [URLConnection] Bilder hochladen - aber anders! Netzwerkprogrammierung 4
Lazybone Bilder über Socket Netzwerkprogrammierung 4
J FTP Upload über Proxy funktioniert nicht Netzwerkprogrammierung 1
D CSV File Upload Netzwerkprogrammierung 5
P nanoHttp upload.html page lädt nicht Netzwerkprogrammierung 4
M HTTP File Upload mit Prozessbar Funktioniert nicht. Netzwerkprogrammierung 8
5 File Upload/ ClassNotFoundException Netzwerkprogrammierung 9
B FTPS Upload Netzwerkprogrammierung 3
M Google Image Upload Netzwerkprogrammierung 12
M Apache Solr doc & pdf Upload Netzwerkprogrammierung 8
C apache commons net ftp bei upload unvollständig Netzwerkprogrammierung 3
C HTTP Mediawiki Upload Netzwerkprogrammierung 9
D FTP Pfadangabe für ftp-upload funktioniert nicht Netzwerkprogrammierung 5
R HTTP HttpURLConnection Large File Upload Netzwerkprogrammierung 1
1 Upload problem! org.apache.commons.net.ftp Netzwerkprogrammierung 3
E Applet zum Datei-Upload Netzwerkprogrammierung 3
W HTTP-Upload Netzwerkprogrammierung 2
K Datei-Upload per FTP Netzwerkprogrammierung 2
E Upload großer Dateien? Netzwerkprogrammierung 5
E upload progress bei einem http file post Netzwerkprogrammierung 5
eskimo328 progress bar mit upload speed Netzwerkprogrammierung 19
J Java Programm für Upload von Dateien per HTTP Netzwerkprogrammierung 7
L file upload / download über http Netzwerkprogrammierung 5
J File upload mit ftp Netzwerkprogrammierung 4
JavaDevOp Socket Status von UDP-Port prüfen (PortUnreachableException funktioniert nicht?) Netzwerkprogrammierung 32
B Multicast-Nachrichten-Empfang funktioniert nicht Netzwerkprogrammierung 5
S BufferedStream funktioniert nicht immer Netzwerkprogrammierung 7
G UDP Packet empfangen funktioniert nicht. Netzwerkprogrammierung 16
Dann07 Proxy funktioniert nicht so wie gewünscht! Netzwerkprogrammierung 18
M Textchat Funktioniert nur halb Netzwerkprogrammierung 2
H Einfacher Server funktioniert nicht Netzwerkprogrammierung 1
N Test Servlet funktioniert nicht Netzwerkprogrammierung 11
C Mini Client-Server-Anwendung funktioniert nicht Netzwerkprogrammierung 8
KingSquizzi3 Website parsen mit Hilfe von jsoup funktioniert nicht Netzwerkprogrammierung 3
V TCP Client funktioniert auf Emulator aber nicht auf Smartphone Netzwerkprogrammierung 5
N RMI "RMI über Lan funktioniert nicht" & "RMI-Server im Lan scannen" Netzwerkprogrammierung 13
G Mail senden funktioniert nicht mit SSL Netzwerkprogrammierung 7
L IText mit Servlets, funktioniert nicht Netzwerkprogrammierung 0
D TCP Socket funktioniert nicht richtig Netzwerkprogrammierung 3
L Email versenden mit Java funktioniert nicht, Fehlermeldungen: MessagingException & SocketException Netzwerkprogrammierung 10
C Portscanner funktioniert nicht! Netzwerkprogrammierung 8
K Chatprogramm - Server funktioniert nicht Netzwerkprogrammierung 5
G FTP FTP-Client funktioniert nicht bei Modem-Verbindungen Netzwerkprogrammierung 8
D JNLP über Webstart funktioniert nicht... Netzwerkprogrammierung 2
J FTP FTP funktioniert nicht. Netzwerkprogrammierung 5
R Client funktioniert nicht Netzwerkprogrammierung 2
M while-Schleife funktioniert nicht bei Nachrichtempfang von Server Netzwerkprogrammierung 3
L Socket Chat funktioniert nicht Netzwerkprogrammierung 2
D ...class.getResourceAsStream("/meine.properties") funktioniert nicht über RMI? Netzwerkprogrammierung 3
S RMI Methodenaufruf funktioniert nur lokal Netzwerkprogrammierung 11
C Java Chat funktioniert nicht richtig Netzwerkprogrammierung 6
V Quelltaxt einer Website auslesen funktioniert nicht Netzwerkprogrammierung 2
A RMI RMI Methodenaufruf funktioniert nur spontan Netzwerkprogrammierung 5
S RMI RMI-Applet kommunikation funktioniert nicht Netzwerkprogrammierung 8
A Socket UnknownHostException funktioniert nicht! Netzwerkprogrammierung 3
B Socket Daten empfangen funktioniert nicht richtig - wo liegt der Fehler? Netzwerkprogrammierung 7
M chat funktioniert nicht (Connection refused: connect) Netzwerkprogrammierung 3
R Java-Chat-Applet funktioniert nur in Eclipse Netzwerkprogrammierung 3
T RMI - Client Zugriff auf Server funktioniert nicht Netzwerkprogrammierung 5
M RMI, cast funktioniert nich Netzwerkprogrammierung 2
G Datein versenden funktioniert nicht ! Netzwerkprogrammierung 19
W RMI funktioniert nur wenn ich im selben Eclipse Projekt bin Netzwerkprogrammierung 3
S OutputStreamWriter funktioniert nicht wie ich will Netzwerkprogrammierung 2
M serialisierung funktioniert nur nach neuer instanzierung Netzwerkprogrammierung 3
G Google-Suche funktioniert nicht Netzwerkprogrammierung 6
S Server - Telnet funktioniert, Server - Client nicht Netzwerkprogrammierung 3
F SimpleFTP funktioniert nicht Netzwerkprogrammierung 6
N UDP zwischen Java und C++ funktioniert nicht. Netzwerkprogrammierung 4
L JavaMail: Versenden von mails funktioniert nicht Netzwerkprogrammierung 7

Ähnliche Java Themen


Oben