Я должен загрузить файл на сервер, используя качели Java - PullRequest
0 голосов
/ 23 декабря 2010

Я очень новый, чтобы качаться. Мне нужно загрузить файл на сервер Jboss, используя качели Java. Как я могу пойти в задаче?

Спасибо

Ответы [ 2 ]

1 голос
/ 23 декабря 2010

Как уже упоминал Макс, Swing - это библиотека пользовательского интерфейса.Вы должны создать HTTP-пост и записать свой файл в выходной поток, то есть сделать что-то вроде:

URL url = new URL("http://host/filehandler");
HttpURLConnection con = (HttpURLConnection)url.openConnection();
con.setDoInput(true);
con.setDoOutput(true);
con.setUseCaches(false);
con.setRequestMethod("POST");

InputStream in = new FileInputStream(filePath);
OutputStream out = con.getOutputStream();

byte[] buffer = new byte[4096];
while (-1 != (n = in.read(in))) {
    out.write(buffer, 0, n);
}

Очевидно, http://host/filehandler должно быть сопоставлено с чем-то, что готово получить этот пост и иметь с ним дело.Например, сервлет, который реализует doPost() и сохраняет поток в виде файла.

0 голосов
/ 23 декабря 2010

После того, как вы использовали свой JFileChooser и выбрали файл, который хотите загрузить, вы должны подключиться к серверу.На вашем сервере должен быть запущен ftp-сервер.Вы должны иметь учетную запись и пароль.Получите commons-net-2.2.jar от apache, чтобы иметь возможность создавать FTPClient.

Здесь вы найдете больше информации о FTPClient:

http://commons.apache.org/net/apidocs/org/apache/commons/net/ftp/FTPClient.html

Ваш код должен выглядетькак это:

FTPClient client = new FTPClient();
FileInputStream fis = null;
try {
    client.connect("192.168.1.123");
    client.login("myaccount", "myPasswd");
    int reply = client.getReplyCode();
    if (!client.isConnected()) {
        System.out.println("FTP server refused connection." + reply);
        client.disconnect();
        System.exit(1);
    } else {
        System.out.println("FTP server connected." + reply);
    }
    // Create an InputStream for the file to be uploaded
    String filename = "sp2t.c";
    fis = new FileInputStream(filename);
    // Store file to server
    client.storeFile(filename, fis);
    client.logout();
}  catch (IOException e) {
    System.out.println(e.getMessage());
} finally {
    try {
        if (fis != null) {
            fis.close();
        }
        client.disconnect();
    } catch (IOException e) {
        System.out.println(e.getMessage());
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...