Bild Upload

Ruderer1993

Aktives Mitglied
Hallo,
vielleicht hat der ein oder andere schon meinen Thread von heute Mittag gesehen, da ich ein Projekt suche/gesucht habe.
Ich habe Gefallen daran gefunden ein Java Programm zu schreiben, das mir ein Bild hochladen soll und auch ein Screenshot den man machen kann hochladen soll.
Ich habe bereits einen FileChooser implementiert und das klappt soweit.
Nunja jetzt fehlen mir jegliche Ansätze um das Bild auf irgendeinen Service hochzuladen.
Auf meinen eigenen FTP-Server kriege ich es, das habe ich bereits implementiert doch mir wäre lieber wenn man das Bild auf einen Service wir imageshack oder tinypic oder so hochladen könnte.
Welcher Service genau das nun ist wäre mir erstmal egal.
Hat vielleicht jemand einen Vorschlag ?
Ich habe auch schon diese org.apache Importe gesehen, doch würde ich es gerne ohne zusätzliche .jar bewerkstelligen.

Danke für die Hilfe !
 
V

vanny

Gast
Also, wenn du schon einen Ansatz hast, dein Bild (woher auch immer) auf deinen HomeFTP zu schieben, dann zeig mal ein wenig Code her und kommentiere mal genau, wo dein Problem liegt.

Was spricht gegen eine externe Bibo?
 

Cola_Colin

Top Contributor
Irgendwie sehe ich nicht, was an einem eigenen Server schlecht sein soll, wen du eh schon einen hast. Imagehoster nerven meist nur mit Werbung.
Für den Zugriff auf einen Imagehoster wirst du auch sehr wahrscheinlich eine lib brauchen, wenn du dir nicht einen sehr hohen Extra-aufwand machen möchtest.
 

Ruderer1993

Aktives Mitglied
Ok also ich habe das hier:
Java:
 public void upload( String ftpServer, String user, String password,
         String fileName, File source ) throws MalformedURLException,
         IOException
   {
      if (ftpServer != null && fileName != null && source != null)
      {
         StringBuffer sb = new StringBuffer( "ftp://" );
         // Authentifizierung überprüfen,sonst als Gast anmelden
         if (user != null && password != null)
         {
            sb.append( user );
            sb.append( ':' );
            sb.append( password );
            sb.append( '@' );
         }
         sb.append( ftpServer );
         sb.append( '/' );
         sb.append( fileName );
         /*
          * type ==>i=image
          */
         sb.append( ";type=i" );

         BufferedInputStream bis = null;
         BufferedOutputStream bos = null;
         try
         {
            URL url = new URL( sb.toString() );
            URLConnection urlc = url.openConnection();

            bos = new BufferedOutputStream( urlc.getOutputStream() );
            bis = new BufferedInputStream( new FileInputStream( source ) );

            int i;
            
            while ((i = bis.read()) != -1)
            {
               bos.write( i );
            }
         }
         finally
         {
            if (bis != null)
               try
               {
                  bis.close();
               }
               catch (IOException ioe)
               {
                  ioe.printStackTrace();
               }
            if (bos != null)
               try
               {
                  bos.close();
               }
               catch (IOException ioe)
               {
                  ioe.printStackTrace();
               }
         }
      }
      else
      {
         System.out.println( "Eingabe nicht möglich" );
      }
 

Ruderer1993

Aktives Mitglied
Ehm es spricht nichts gegen eine externe Bibliothek nur ich weis nicht wie es dir geht, aber wenn es mit den Standardmitteln geht ist mir das lieber als da noch zusätzliche Bibliotheken zu benutzen
 

Ruderer1993

Aktives Mitglied
Irgendwie sehe ich nicht, was an einem eigenen Server schlecht sein soll, wen du eh schon einen hast. Imagehoster nerven meist nur mit Werbung.
Für den Zugriff auf einen Imagehoster wirst du auch sehr wahrscheinlich eine lib brauchen, wenn du dir nicht einen sehr hohen Extra-aufwand machen möchtest.

Ja aber ich will ja nicht die ganzen Bilder auf dem FTP Server draufliegen haben, irgendwann wird das zu viel und andere Leute denen ich mein Programm geben will vertrauen halt eher einer Seite die sie standardmäßig zum ImageUpload benutzen als irgendso einem FTP server
 

Cola_Colin

Top Contributor
Also zwischen irgendeinem ftp server und irgendeinen hoster würde ich keinen Unterschied ziehen als Nutzer.
Als Entwickler der Software hingegen würde ich nicht meinen Server zur allgemeinen Verwendung zur Verfügung stellen wollen, eher eine Möglichkeit einbauen, dass die Leute ihre eigenen Serverdaten eintragen können o_O

Naja, ich verwende für ein ähnliches Programm Flickr, siehe hier.

Afaik kommt man nur mit Bordmitteln von Java nicht einfach mal eben an einen Hoster ran.
 

Ruderer1993

Aktives Mitglied
@ColaColin Danke habe das bei meiner Suche schon gesehen doch leider geht das nur für Windows und ich will das mein Programm überall funktioniert
2. Hat nicht jeder einen eigenen Ftp Sever !

@bert0r
Ja danke ich werde mal schauen ob ich da was zu finde
 

Cola_Colin

Top Contributor
Mag sein, dass der Code den ich da zusammengestümpert habe, nur auf Windows funktioniert, aber prinzipiell sollte die Library auf jeder Plattform laufen ?!
 

Ruderer1993

Aktives Mitglied
Ok habe nun Jickr eingebunden.
Ich denke ich kann ja einfach einen Flickr Account erstellen und dann spare ich mir das Implementieren der individuellen Authentifizierung. Das Programm ist ja sowieso nur für mich und ein paar Freunde.
Ich schaue dann mal ob ich das soweit hinbekomme.
 

Ruderer1993

Aktives Mitglied
Hm gibt zufällig mal einen Beispiel Code zum implementieren von jickr, außer dem von ColaColin ?
Denn bei deinem verwirrt mich der Authentifizierungsprozess. Ich möchte ja immer den gleichen Account anmelden.
 

Ruderer1993

Aktives Mitglied
Ok habe nun folgendes versucht:
Ich weiß es wird ziemlich falsch sein, trotzdem hoffe ich hier dieses Problem zu lösen:
Java:
JFileChooser fc = new JFileChooser();
	BufferedImage img;
	public static String API_KEY = "d8a45ba81c301aebdbe1ebf074434119";
	public static String SHARED_SECRET = "9ed7a2cbcc426d7c";
..........................................

uploadBtn.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				try {
					User user = Auth.getDefaultAuthUser();
					if (user == null)
						throw new Exception(
								"Login in a different app (like LoginTest)");
					Auth.setAuthContext(Auth.getDefaultAuthUser());
					Flickr.setApiKey(API_KEY);
					Flickr.setSharedSecret(SHARED_SECRET);
				} catch (Exception exc) {

				}
				fc.setFileSelectionMode(JFileChooser.FILES_ONLY);
				fc.setMultiSelectionEnabled(false);

				if (fc.showOpenDialog(UploadFrame.this) == JFileChooser.APPROVE_OPTION) {
					File file = fc.getSelectedFile();
					if ((file.getName() != null)
							&& file.getName().toLowerCase().endsWith(".png")
							|| file.getName().toLowerCase().endsWith(".jpg")
							|| file.getName().toLowerCase().endsWith(".jpeg")
							|| file.getName().toLowerCase().endsWith(".gif")
							|| file.getName().toLowerCase().endsWith(".tiff")) {
						pathField.setText("" + file);
						try {
							ImageIO.write(img, "png", file);
							Photo newPhoto = Photo.create(file, "Test");
							System.out.println("Success! Photo ID is "
									+ newPhoto.getID());
						} catch (IOException ioEx) {

						} catch (FlickrException fe) {

						}

					} else {
						JOptionPane.showMessageDialog(UploadFrame.this,
								"Bitte nur Bilder auswählen !",
								"Dateiendung nicht unterstützt",
								JOptionPane.ERROR_MESSAGE);
					}

				} else {
					System.out.println("Gecanceled");
				}

            }
        });

Ok was mache ich falsch ? Ich denke mal ImageIO ist falsch, da es null ist ?
Hier der StackTrace:
Code:
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: im == null!
	at javax.imageio.ImageIO.write(ImageIO.java:1457)
	at javax.imageio.ImageIO.write(ImageIO.java:1527)
	at UploadFrame$1.actionPerformed(UploadFrame.java:62)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2351)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
	at java.awt.Component.processMouseEvent(Component.java:6373)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
	at java.awt.Component.processEvent(Component.java:6138)
	at java.awt.Container.processEvent(Container.java:2085)
	at java.awt.Component.dispatchEventImpl(Component.java:4735)
	at java.awt.Container.dispatchEventImpl(Container.java:2143)
	at java.awt.Component.dispatchEvent(Component.java:4565)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4621)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4282)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4212)
	at java.awt.Container.dispatchEventImpl(Container.java:2129)
	at java.awt.Window.dispatchEventImpl(Window.java:2478)
	at java.awt.Component.dispatchEvent(Component.java:4565)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:679)
	at java.awt.EventQueue.access$000(EventQueue.java:85)
	at java.awt.EventQueue$1.run(EventQueue.java:638)
	at java.awt.EventQueue$1.run(EventQueue.java:636)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
	at java.awt.EventQueue$2.run(EventQueue.java:652)
	at java.awt.EventQueue$2.run(EventQueue.java:650)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:649)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
 

bERt0r

Top Contributor
Java:
if ((file.getName() != null)
							&& ( /*Klammer hier*/file.getName().toLowerCase().endsWith(".png")
							|| file.getName().toLowerCase().endsWith(".jpg")
							|| file.getName().toLowerCase().endsWith(".jpeg")
							|| file.getName().toLowerCase().endsWith(".gif")
							|| file.getName().toLowerCase().endsWith(".tiff"))) /*Klammer hier*/
Ich glaube du brauchst da 2 Klammern
 

Ruderer1993

Aktives Mitglied
danke, aber ich erhalte trotzdem noch den Fehler :(
Vielleicht kennt ja ColaColin die Lösung ? immerhin hast du es ja schonmal implementiert bekommen !
Vielen Dank !
 

Cola_Colin

Top Contributor
Zumindest in dem von dir gezeigten Codeteil ist img auch einfach nur null.
Wo wird da das Bild gemacht ?!

btw hast du da leere catch Blöcke, das könnte dir noch Probleme machen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Bild richtig speichern / Hochkant im File Explorer, nach Upload vertikal Java Basics - Anfänger-Themen 9
Y Nach Bild-Upload wird Bild nicht angezeigt Java Basics - Anfänger-Themen 1
Athro-Hiro Weißes Bild in Java erstellen Java Basics - Anfänger-Themen 3
V Bild per Java Script austauschen Java Basics - Anfänger-Themen 7
B Bild per KeyListener drehen Java Basics - Anfänger-Themen 1
I Kamera anschließen / Bild machen / Live View / Externe Blitz Java Basics - Anfänger-Themen 19
I Innerhalb einem Bild ein Teil austauschen Java Basics - Anfänger-Themen 26
I Datei (Bild) Drucken und wie Druckeinstellung speichern? Java Basics - Anfänger-Themen 3
krgewb byte-Array, das ein Bild repräsentiert Java Basics - Anfänger-Themen 1
H Artefact mit Bild erzeugen Java Basics - Anfänger-Themen 11
R UML-Bild (Erkennung ob static o. nicht) Java Basics - Anfänger-Themen 18
J Bild auf Hintergrundbild zeichnen Java Basics - Anfänger-Themen 5
krgewb Bild itextpdf Java Basics - Anfänger-Themen 2
C Bild in executable JAR File mitgeben Java Basics - Anfänger-Themen 5
VPChief Bild in JEditorPane Java Basics - Anfänger-Themen 9
B Warum bekomme ich kein Bild. Java Basics - Anfänger-Themen 10
S Bild einfügen // NEU Java Basics - Anfänger-Themen 12
N Bild drehen Java Basics - Anfänger-Themen 3
S Ein Bild mit dynamischer Quelle neuzeichnen Java Basics - Anfänger-Themen 12
N GLOOP Bild nicht ansichtbar Java Basics - Anfänger-Themen 5
M Bild in JFrame Java Basics - Anfänger-Themen 1
B Signatur erstellen - Bild ist nur weiß Java Basics - Anfänger-Themen 0
CptK Interface Bild rotieren Java Basics - Anfänger-Themen 17
CptK Interface Bild rotieren Java Basics - Anfänger-Themen 1
Anica Processing Animation Bild-Position ändern Java Basics - Anfänger-Themen 9
CptK Interface Bild über Methode ändern funktioniert nicht Java Basics - Anfänger-Themen 4
CptK Interface Curser durch Bild ersetzen & MouseListner Java Basics - Anfänger-Themen 2
M jTextPane Bild anzeigen Java Basics - Anfänger-Themen 6
CptK Bild beim betätigen eines JButtons Java Basics - Anfänger-Themen 6
S Bild über JButton legen Java Basics - Anfänger-Themen 3
B Bild mit Schrift befüllen / Anpassung bei Wortlänge Java Basics - Anfänger-Themen 2
D Google maps bild mit marker versehen Java Basics - Anfänger-Themen 12
D ImageView mit einfarbigem Bild fuellen Java Basics - Anfänger-Themen 3
it_is_all Bild-Pfad wird gefunden, nicht aber Textdatei-Pfad Java Basics - Anfänger-Themen 8
M Einzelne Pixel in einem Bild auslesen und bearbeiten Java Basics - Anfänger-Themen 1
M Bild wird von JFrame nicht geladen Java Basics - Anfänger-Themen 12
J Bild in Button einsetzen Java Basics - Anfänger-Themen 6
S button kommt durch bild Java Basics - Anfänger-Themen 13
M Ein Bild durch Objekterzeugung zeichnen Java Basics - Anfänger-Themen 5
B Greenscreen (grüner Hintergrund ersetzen mit Bild) Java Basics - Anfänger-Themen 49
K Interface Kein Bild im .jar-File Java Basics - Anfänger-Themen 15
S Bild in Jar-File mit ImageIO Java Basics - Anfänger-Themen 50
S Bild einfügen Java Basics - Anfänger-Themen 16
binop Bild anzeigen lassen Java Basics - Anfänger-Themen 2
D Bild zu Text Java Basics - Anfänger-Themen 4
I HTML Code in Bild (transparent) konvertieren Java Basics - Anfänger-Themen 0
I Watermark erstellen mit HTML in Bild? Java Basics - Anfänger-Themen 7
D Classpath Bild kann in .jar nicht geladen werden Java Basics - Anfänger-Themen 2
Anfänger2011 Bild programmieren?! Java Basics - Anfänger-Themen 3
8 Eigenes Bild in email einfügen Java Basics - Anfänger-Themen 1
K JTable Bild einfügen Java Basics - Anfänger-Themen 1
L BufferdImage schwarzes Bild nach zusammenfügen zweier Bilder Java Basics - Anfänger-Themen 8
S Bild in JOptionPane Java Basics - Anfänger-Themen 1
C Abfrage nach einem Bild im Array Java Basics - Anfänger-Themen 9
J Umgebungsvariable Programmfenster zeigt kein Bild an Java Basics - Anfänger-Themen 1
J Bild loopen Java Basics - Anfänger-Themen 6
M JFrame Bild einfügen Java Basics - Anfänger-Themen 3
S Bild bei Kontakt ändern Java Basics - Anfänger-Themen 2
C Erste Schritte Bild holen und speichern Java Basics - Anfänger-Themen 1
D Bild in Frame einfügen Java Basics - Anfänger-Themen 11
D Bild im Applet anzeigen Java Basics - Anfänger-Themen 3
F Bild in ein Runnable Jar File packen (eclipse) Java Basics - Anfänger-Themen 2
M Java-Applet: Bild einbinden (getImage) Java Basics - Anfänger-Themen 0
J Ganzes Bild Java Basics - Anfänger-Themen 4
T GUI anstatt Bild schwarzes Rechteck gespeichert Java Basics - Anfänger-Themen 0
A Bild verschwindet! Wieso?? Java Basics - Anfänger-Themen 2
I Bild aus Bereich laden Java Basics - Anfänger-Themen 3
P Bild in JFrame Titelleiste Java Basics - Anfänger-Themen 7
M Button mit Bild und Text Java Basics - Anfänger-Themen 2
M JSP-Einfaches Bild anzeigen Java Basics - Anfänger-Themen 4
C Bild ins Frame laden und Objekte drüber legen Java Basics - Anfänger-Themen 1
Sogomn Bild will sich nicht skalieren lassen Java Basics - Anfänger-Themen 1
P Ein Bild für GUI (Java-Editor) Java Basics - Anfänger-Themen 4
D Bild für ein paar Sekunden einblenden und wieder ausblenden Java Basics - Anfänger-Themen 1
E Bild per Verzeichnis/JFileChooser auf JPanel laden Java Basics - Anfänger-Themen 13
S Bild auf eine Position rotieren?! Java Basics - Anfänger-Themen 4
P Bild bearbeiten Java Basics - Anfänger-Themen 9
Z Datenmatrix in Bild verwandeln Java Basics - Anfänger-Themen 4
C Bild verschwinden lassen Java Basics - Anfänger-Themen 7
S Bild Icon aus ID3Tag auslesen Java Basics - Anfänger-Themen 4
E Bild vom FileChooser aus via ImageIcon in DB schreiben Java Basics - Anfänger-Themen 16
D Bild zum Panel hinzufügen Java Basics - Anfänger-Themen 8
C Greenfoot: Bei Tastendruck und best. Wert Bild ändern Java Basics - Anfänger-Themen 2
O Auflösung einer Bild-Datei bekommen ohne sie herunterzuladen?? Java Basics - Anfänger-Themen 7
L Bild-Datein "zuschneiden" Java Basics - Anfänger-Themen 11
O DeviantArt-Bild Konverter: Fehler.. Java Basics - Anfänger-Themen 16
K Transparents Bild laden -> Fehlermeldung Java Basics - Anfänger-Themen 6
M Bild einbinden Java Basics - Anfänger-Themen 7
2 Bild auf JApplet zeichnen Java Basics - Anfänger-Themen 18
T Bild laden Java Basics - Anfänger-Themen 7
R Bild in GUI Java Basics - Anfänger-Themen 11
D Eclipse Juno zeigt Bild nicht bei Run Java Basics - Anfänger-Themen 3
Kenan89 Bild mit jar öffnen Java Basics - Anfänger-Themen 4
S Problem bei Bewegung von einem Bild! Java Basics - Anfänger-Themen 2
J Bild mit transparenter Farbe Java Basics - Anfänger-Themen 10
N Erste Schritte Applet zeichnet Bild nicht Java Basics - Anfänger-Themen 10
J Bild auf JLabel wird nicht angezeigt Java Basics - Anfänger-Themen 11
J Bild einfügen Java Basics - Anfänger-Themen 3
T ASCII Art von Bild erstellen. Java Basics - Anfänger-Themen 32
E Bild OS-unabhängig einbinden mit URL Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben