Hallo zusammen,
ich hab die Anforderung von meinem Chef dass ich eine Anwendung entwickle mit welcher es möglich ist Dateien auf einen Server hochzuladen. Soweit funktioniert das auch, nun habe ich aber einen neue Anforderung mit welche ich über Drag'n'Drop Unterstützung direkt Emails aus Outlook als .msg Datei hinzufüge. Im Idealfall sollte das ohne bisherigen Zwischenschritt, dass der User zuerst die E-Mail abspeichert muss und sie dann hinzufügt geschehen, geschehen.
Kennt oder hat wer vll. zu diesem Thema eine Lösung oder einen guten Ansatz?
Mein bisheriger Code für die Drag'n'Drop Unterstützung sieht wie folgt aus:
Er bietet die Möglichkeit ganze Ordner in ein Objekt zu ziehen und die Dateien welche enthalten sind, inklusive der in den Unterordner enthaltenen Dateien, werden als Liste mit dem Dateipfad zurückgegeben.
MfG Lehrlii
ich hab die Anforderung von meinem Chef dass ich eine Anwendung entwickle mit welcher es möglich ist Dateien auf einen Server hochzuladen. Soweit funktioniert das auch, nun habe ich aber einen neue Anforderung mit welche ich über Drag'n'Drop Unterstützung direkt Emails aus Outlook als .msg Datei hinzufüge. Im Idealfall sollte das ohne bisherigen Zwischenschritt, dass der User zuerst die E-Mail abspeichert muss und sie dann hinzufügt geschehen, geschehen.
Kennt oder hat wer vll. zu diesem Thema eine Lösung oder einen guten Ansatz?
Mein bisheriger Code für die Drag'n'Drop Unterstützung sieht wie folgt aus:
Er bietet die Möglichkeit ganze Ordner in ein Objekt zu ziehen und die Dateien welche enthalten sind, inklusive der in den Unterordner enthaltenen Dateien, werden als Liste mit dem Dateipfad zurückgegeben.
Java:
class MyDragDropListener implements DropTargetListener {
public static List<File> files=null;
@Override
public void drop(DropTargetDropEvent event) {
boolean isNoFile=false;
// Accept copy drops
event.acceptDrop(DnDConstants.ACTION_COPY);
// Get the transfer which can provide the dropped item data
Transferable transferable = event.getTransferable();
// Get the data formats of the dropped item
DataFlavor[] flavors = transferable.getTransferDataFlavors();
// Loop through the flavors
for (DataFlavor flavor : flavors) {
try {
// If the drop items are files
if (flavor.isFlavorJavaFileListType()) {
// Get all of the dropped files
try {
List<File> files = (List<File>) transferable.getTransferData(flavor);
}catch (Exception e) {
// Print out the error stack
e.printStackTrace();
isNoFile=true;
}
if(!isNoFile){
ArrayList<String> filesArray = new ArrayList<String>();
//get the contet of directories and subdirectories
boolean containsDirs = false;
do {
containsDirs=false;
for(int i=0; i < files.size(); i++) {
if(files.get(i).isDirectory()) {
files=getFiles(files);
containsDirs=true;
break;
}
}
}while(containsDirs == true);
for (File file : files) {
filesArray.add(file.toString());
}
SelectFileWindow.addFiles(filesArray);
}else {
try
{
DataFlavor[] dataFlavors=transferable.getTransferDataFlavors();
//event.acceptDrop(DnDConstants.ACTION_COPY);
ArrayList<String> test = new ArrayList<String>();
for(int i=0;i<dataFlavors.length;i++)
{
if(dataFlavors[i].getRepresentationClass().equals(Class.forName("java.lang.String")))
{
String string=(String)transferable.getTransferData(dataFlavors[i]);
System.out.println(string);
test.add(string);
}
}
event.dropComplete(true);
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
}
} catch (Exception e) {
// Print out the error stack
e.printStackTrace();
}
}
// Inform that the drop is complete
event.dropComplete(true);
}
@Override
public void dragEnter(DropTargetDragEvent event) {
}
@Override
public void dragExit(DropTargetEvent event) {
}
@Override
public void dragOver(DropTargetDragEvent event) {
}
@Override
public void dropActionChanged(DropTargetDragEvent event) {
}
public List<File> getFiles(List<File> files){
//etract Content of directories and subdirectories
List<File> dirContent = new ArrayList<File>();
for(File file : files){
if(file.isDirectory()) {
File[] dirFiles = file.listFiles();
for(int j=0; j < dirFiles.length; j++) {
dirContent.add(dirFiles[j]);
}
continue;
}
dirContent.add(file);
}
return dirContent;
}
}
MfG Lehrlii
Zuletzt bearbeitet von einem Moderator: