Upload

Status
Nicht offen für weitere Antworten.

Rex

Bekanntes Mitglied
Liebe Freunde,

wenn ein User auf das Applet eine File vom Desktop etc. zieht, dann soll diese File an ein PHP Script per POST gesendet werden.

Dazu meine Fragen:
1. Wie fange ich die File bei einem Drag'n'Drop ab.
2. Wie sende ich diese dann per POST an mein PHP - Script?


Vielen Dank für eure Hilfe!

MFG
Rex
 

kaie

Bekanntes Mitglied
Guten Morgen,

habe hier probeweise eine Lösung geschrieben. Zumindest der DragNDrop-Teil dürfte funktionieren. Ob das Posten funktioniert, kann ich in Ermangelung Deines Servers nicht ausprobieren. Hoffe, es hilft trotzdem.

Code:
import java.awt.datatransfer.*;
import java.awt.dnd.*;
import java.io.*;
import java.net.*;
import java.util.*;

import javax.swing.*;

public class DragNDropTest
{
    public static void main(String[] args)
    {

        JFrame f = new JFrame("Pack was hier rein!");
        f.setSize(100, 100);
        f.setVisible(true);

        new DropTarget(f, new DropTargetAdapter()
        {
            public void drop(DropTargetDropEvent e)
            {
                try
                {
                    Transferable t = e.getTransferable();
                    DataFlavor d = e.getCurrentDataFlavors()[0];
                    e.acceptDrop(e.getDropAction());
                    List a = (List) t.getTransferData(d);
                    for (int i = 0; i < a.size(); i++)
                    {
                        processFile((File) a.get(i));
                    }
                } catch (Exception ex)
                {
                    ex.printStackTrace();
                }
            }
        });
    }

    public static void processFile(File f)
    {
        try
        {
            System.out.println("Sende Datei "+f);
            // Send data
            URL url = new URL("http://www.meinewebseite.de");
            URLConnection conn = url.openConnection();
            conn.setDoOutput(true);

            BufferedOutputStream out = new BufferedOutputStream(conn
                    .getOutputStream());
            BufferedInputStream in = new BufferedInputStream(
                    new FileInputStream(f));
            
            int i = in.read();
            while( i!=-1 )
            {
                out.write(i);
                System.out.write(i);
                i=in.read();
            }
            in.close();
            out.flush();
            out.close();
            System.out.println("Datei gesendet");
        } catch (Exception e)
        {
            e.printStackTrace();
        }
    }
}

Schönen Sonntag noch!
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben