matzedonier
Cadet 1st Year
- Registriert
- Feb. 2011
- Beiträge
- 8
So Hallo Leute,
bin hier gerade über nen schönen Thread über nano HTTP gestoßen und bin ziemlich begeistert gewesen auf den ersten Blick.
Jetzt hab ich gleich was mit gecodet und funktioniert vom Prinzip auch super.
Aber jetzt stehe ich vor einem Problem, ich will eine kleine Anwendung schreiben mit der ich "daten" freigeben kann. Sprich Ich starte das Programm und der Benutzer wählt aus
C:\Eigene Dateien und D:\Sicherung, diese Directorys will ich dann über den nanoHTTPD freigeben/listen.
mit einem Single Directory funktioniert das wunderbar,über die integrierte Funktion von NanoHTTP.
Jetzt habe ich mir gedacht ok, machste einfach ne dynamisch generierte HTML Page wo dir den Inhalt der Dirs anzeigt.
So sieht mein provisorischer Code aus, keine Ahnung ob der jetzt lauffähig ist, nicht getest weil mir beim Programmieren mein Problem eingefallen ist:
Das würde mir jetzt so wie ich mir das vorstelle eine FileListe zusammenbauen vom hardcoded directory "D:\". Allerdings und jetzt kommt der knackpunkt, nur weil da der Dateipfad steht hab ich ja noch lang kein Access auf die Datei über den HTTP Server.
Vielleicht hat einer von euch schon was mit nanoHTTP gemacht, und könnte mir helfen.
grüße
xasz (mein nick war schon reserviert, deshalb mein alter: matzedonier)
bin hier gerade über nen schönen Thread über nano HTTP gestoßen und bin ziemlich begeistert gewesen auf den ersten Blick.
Jetzt hab ich gleich was mit gecodet und funktioniert vom Prinzip auch super.
Aber jetzt stehe ich vor einem Problem, ich will eine kleine Anwendung schreiben mit der ich "daten" freigeben kann. Sprich Ich starte das Programm und der Benutzer wählt aus
C:\Eigene Dateien und D:\Sicherung, diese Directorys will ich dann über den nanoHTTPD freigeben/listen.
mit einem Single Directory funktioniert das wunderbar,über die integrierte Funktion von NanoHTTP.
Jetzt habe ich mir gedacht ok, machste einfach ne dynamisch generierte HTML Page wo dir den Inhalt der Dirs anzeigt.
So sieht mein provisorischer Code aus, keine Ahnung ob der jetzt lauffähig ist, nicht getest weil mir beim Programmieren mein Problem eingefallen ist:
Code:
public class HTTPServer extends NanoHTTPD
{
public HTTPServer() throws IOException
{
super(8080);
}
public Response serve( String uri, String method, Properties header, Properties parms, Properties files )
{
System.out.println( method + " '" + uri + "' " );
String msg = "<html><body><h1>FileList of <username></h1>\n";
msg += "<table border=0>";
File ListDir;
if( parms.getProperty("subDir") == null)
{
ListDir = new File("D:\\");
}
else
{
ListDir = new File(parms.getProperty("subDir"));
}
File[] FileList = ListDir.listFiles();
for(int i = 0; i < FileList.length ; i++)
{
try
{
if(!FileList[i].isHidden() && FileList[i].canRead() && FileList[i].exists())
if(FileList[i].isDirectory())
{
msg += "<tr><td><a href=" + FileList[i].getAbsolutePath() + ">+" + FileList[i].getCanonicalPath() + "</a>";
}
else
{
msg += "<tr><td><a href=" + FileList[i].getAbsolutePath() + ">" + FileList[i].getCanonicalPath() + "</a>";
}
}
catch(IOException e)
{
e.printStackTrace();
}
}
return new NanoHTTPD.Response( HTTP_OK, MIME_HTML, msg );
}
}
Das würde mir jetzt so wie ich mir das vorstelle eine FileListe zusammenbauen vom hardcoded directory "D:\". Allerdings und jetzt kommt der knackpunkt, nur weil da der Dateipfad steht hab ich ja noch lang kein Access auf die Datei über den HTTP Server.
Vielleicht hat einer von euch schon was mit nanoHTTP gemacht, und könnte mir helfen.
grüße
xasz (mein nick war schon reserviert, deshalb mein alter: matzedonier)