Avatar billede pnr Nybegynder
04. november 2003 - 06:57 Der er 20 kommentarer og
1 løsning

Hente flere filer fra en hjemmeside på engang

Er det ikke muligt at lave en dynamisk liste over nogle filer der skal downloades af clienten hvis han trykker på en download knap. Jeg har ikke kunnet finde nogen måde i asp at lave det på, så jeg tænkte om man måske kunne bruge en java applet, som bruges som ftp client?
Avatar billede webmasterm Nybegynder
04. november 2003 - 07:38 #1
Kan du forklare det anderledes ?  Du har jo filer som man skal kunne hente også skal man hente allesammen på en gang? Eller hvad ?
Avatar billede arne_v Ekspert
04. november 2003 - 07:47 #2
En java applet kan godt hente flere filer ad gangen (multithreaded).
Avatar billede pnr Nybegynder
04. november 2003 - 07:52 #3
Jep alle skal hentes på engang
Avatar billede webmasterm Nybegynder
04. november 2003 - 07:55 #4
Kan du så ikke bare zippe dem ? Allesammen i en zip fil!
Avatar billede pnr Nybegynder
04. november 2003 - 08:18 #5
Det vil da bruge en masse ressourcer på webserveren, det er ikke utænkeligt at der skal hentes ca 500 billeder på dag
Avatar billede arne_v Ekspert
04. november 2003 - 08:21 #6
Du kan finde FTP client kode her:
  http://jakarta.apache.org/commons/net/index.html

Du er naturligvis opmærksom på at en applet skal have specielle
priviligier for at kunne gemme lokalt !?
Avatar billede neander Nybegynder
04. november 2003 - 08:21 #7
Der er nogle begrænsninger i f.eks. Explorer, at den kun kan downloade 2 filer ad gangen. Så brugeren kommer til at kigge på op til 500 ventende vinduer på proceslinjen...
Avatar billede arne_v Ekspert
04. november 2003 - 08:35 #8
Den restriktion gælder ikke for en applet.
Avatar billede pnr Nybegynder
04. november 2003 - 09:48 #9
Hvad er det for et specielle priviligier, er det noget der er nogle problemer i (dem der skal downloade med appletten er mine venner)?
Avatar billede arne_v Ekspert
04. november 2003 - 09:53 #10
Appletter har ikke defualt adgang til harddisken på client maskinerne
af sikkerheds hensyn.

Hvis den skal have det, så skal appletten signes og client maskinerne
skal give java kode signed af den pågældende adgang til at skrive til disk.
Avatar billede pnr Nybegynder
04. november 2003 - 22:08 #11
hvor kan jeg hente den ftp ting?
Avatar billede arne_v Ekspert
04. november 2003 - 22:11 #12
Se linket i min 04/11-2003 08:21:10 kommentar !
Avatar billede pnr Nybegynder
05. november 2003 - 07:55 #13
Ja ok, men der har jeg været inde, men syntes ikke at kunne finde koden, kun en masse beskrivelse af hvad man kan med den kode.
Avatar billede arne_v Ekspert
05. november 2003 - 08:13 #14
Der er et download link hvor man efter en 3-4 klik ender på:
http://www.tux.org/pub/net/apache/dist/jakarta/commons/net/binaries/commons-net-1.1.0.zip
Avatar billede pnr Nybegynder
11. november 2003 - 19:58 #15
arne V: Hov jeg har da helt glemt at give dig point! Det må du meget undskylde, kan du ikke lige smide et svar?
Avatar billede arne_v Ekspert
11. november 2003 - 20:01 #16
svar
Avatar billede pnr Nybegynder
11. november 2003 - 20:02 #17
Det var du hurtig til, sidder du her døgnet rundt?
Avatar billede pnr Nybegynder
11. november 2003 - 20:02 #18
Takker mange gange for hjælpen :-)
Avatar billede arne_v Ekspert
11. november 2003 - 20:04 #19
Jeg er på mange timer om dagen.

:-)
Avatar billede pnr Nybegynder
11. november 2003 - 20:11 #20
hvis du lige har tid?

Har du brugt den ftp ting? er der nogen steder der er et eksempel på at bruge den?
Avatar billede arne_v Ekspert
11. november 2003 - 20:15 #21
Den bliver brugt mange steder.

Jeg har kun brugt den til meget simple ting.

Eksempel:

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.SocketException;

import org.apache.commons.net.ftp.FTPClient;

public class FtpGet {
    public static void main(String[] args) {
        FTPClient client = new FTPClient();
        try {
            client.connect("192.168.1.10");
            client.login("anonymous", "arne@");
            InputStream is = client.retrieveFileStream("index.lis");
            OutputStream os = new FileOutputStream("C:\\index.lis");
            byte[] b = new byte[1000];
            int n;
            int total = 0;
            while((n = is.read(b)) >= 0) {
                os.write(b,0,n);
                total += n;
                System.out.println("bytes: " + total);
            }
            os.close();
            is.close();
            client.disconnect();
        } catch (SocketException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester