Avatar billede stephanryer Nybegynder
29. april 2005 - 20:20 Der er 7 kommentarer og
1 løsning

Scanne bibliotek for billeder fra Applet

Jeg er ved at lavet en applet til en anden på eksperten, der skal kunne loade og vise billeder. Til det skal jeg vide hvordan jeg indhenter oplysninger om alle filer i et bestemt bibliotek (Det bibliotek som Applet'en ligger i er fint).

Kan dette lade sig gøre eller er det forbudt at gøre fra en Applet?
Avatar billede arne_v Ekspert
29. april 2005 - 20:47 #1
Vil du lade appletten som hentes fra serveren browser på client PC'ens
harddisk eller vil du lade appletten hente en dir listing fra serveren med
em HTTP request til et server side script eller ?
Avatar billede stephanryer Nybegynder
30. april 2005 - 02:32 #2
Hvis det var muligt så ville det være optimalt hvis den kunne scanne det dir som den Applet'en ligger på for billeder. Hvis ikke det kan lade sig gøre så ville det andet bedste være hvis jeg kan komme i kontakt med en txt fil. Så fylder jeg bare den med filnavnene.
Avatar billede arne_v Ekspert
30. april 2005 - 10:19 #3
Da appletten køres på client så er der ikke fil adgang til serveren.

Men du kan nemt requeste en fil fra serveren via HTTP.
Avatar billede arne_v Ekspert
30. april 2005 - 10:20 #4
Eksempel (fra lagret):

import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.io.*;
import java.net.*;

public class DatabaseApplet extends Applet implements ActionListener {
    TextArea select = new TextArea();
    TextField f1 = new TextField();
    TextField f2 = new TextField();
    Button insert = new Button();
    public void init() {
        select.setColumns(40);
        select.setRows(20);
        select.setText(select());
        f1.setColumns(10);
        f2.setColumns(20);
        insert.setLabel("Add");
        insert.addActionListener(this);
        add(select, null);
        add(f1, null);
        add(f2, null);
        add(insert, null);
        setVisible(true);
    }
    public void actionPerformed(ActionEvent ev) {
        insert(f1.getText(), f2.getText());
        select.setText(select());
        repaint();
    }
    private String select() {
        StringBuffer res = new StringBuffer("");
        try {
            URL url = new URL("http://localhost/select.php");
            HttpURLConnection con = (HttpURLConnection) url.openConnection();
            con.setRequestMethod("GET");
            con.connect();
            if (con.getResponseCode() == HttpURLConnection.HTTP_OK) {
                BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream()));
                String line;
                while ( (line = br.readLine()) != null) {
                    res.append(line);
                    res.append("\r\n");
                }
                con.disconnect();
            }
        } catch (IOException ex) {
            ex.printStackTrace();
        }
        return res.toString();
    }
    private void insert(String f1, String f2) {
        try {
            URL url = new URL("http://localhost/insert.php");
            HttpURLConnection con = (HttpURLConnection) url.openConnection();
            con.setRequestMethod("POST");
            String info = "F1=" + f1 + "&F2=" + f2;
            con.setDoOutput(true);
            con.getOutputStream().write(info.getBytes());
            con.connect();
            if (con.getResponseCode() != HttpURLConnection.HTTP_OK) {
                System.err.println("POST failed");
            }
            con.disconnect();
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }
}
Avatar billede arne_v Ekspert
28. maj 2005 - 17:04 #5
ok ?
Avatar billede arne_v Ekspert
24. juli 2005 - 17:24 #6
??
Avatar billede stephanryer Nybegynder
29. juli 2005 - 20:47 #7
Jeps :)

Er det noget der kan ske fra en Applet fra Java 1.2, som de fleste browsers understøtter, eller skal man opgradere sin browser med suns nyeste applet java tingeling?
Avatar billede arne_v Ekspert
29. juli 2005 - 20:50 #8
ovenstående burde sågar virke med 1.1

hvis du laver en JApplet med Swing kræver det mindst 1.2 måske højere

du kan angive -source og -target til javac kommandoen
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