Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> upload, Загрузка файла на сервер через Applet 
V
    Опции темы
Gugle
Дата 18.3.2008, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 9.12.2005

Репутация: нет
Всего: нет



Доброго времени суток!

Подскажите как реализовать передачу файла на сервер через Applet?
Нашел пакет fileupload для servlet. Но как сформировать метод post в apllet не понимаю.
Может кто подскажет как реализовать эту форму в applet-е?
Код

<form enctype="multipart/form-data" action="/editor/upload.do" method='post'>
    <input type='hidden' name='action' value='ploadfile'/>
        <table border='0' cellspacing="0" cellpadding="0">
            <tr>
                <td>Выбрать файл:</td>
                <td><input class='inp' name="filename" type="file"/></td>
                <td><input class='button' type="submit" value="Загрузить"/></td>
             </tr>
         </table>
 </form>

PM MAIL   Вверх
LSD
Дата 18.3.2008, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



Для того чтобы апплет мог работать с файлами его придется подписать. Плюс там есть заморочки с установленностью JVM. Оно тебе реально надо грузить файлы апплетом?


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Gugle
Дата 18.3.2008, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 9.12.2005

Репутация: нет
Всего: нет



Подписать не проблема.

Цитата

Плюс там есть заморочки с установленностью JVM.


Это про что?

Цитата

Оно тебе реально надо грузить файлы апплетом?


Хотелось бы. Альтернатива типа перехода на страницу загрузки (как например кот я выложил) возможна, но как на jsp написать красивый загрузчик я незнаю, т.к. не знаю jsp.
PM MAIL   Вверх
LSD
Дата 18.3.2008, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



Цитата(Gugle @  18.3.2008,  17:44 Найти цитируемый пост)
Это про что?

Про то что у клиента может быть не установлена JRE, или установленна старая версия.


Цитата(Gugle @  18.3.2008,  17:44 Найти цитируемый пост)
Хотелось бы. Альтернатива типа перехода на страницу загрузки (как например кот я выложил) возможна, но как на jsp написать красивый загрузчик я незнаю, т.к. не знаю jsp.

Что значит "красивый"? Стандартный диалог загрузки файла делается в два счета <input type="file" (как например в форме быстрого ответа - прикрепить файл).


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Gugle
Дата 18.3.2008, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 9.12.2005

Репутация: нет
Всего: нет



Цитата

Про то что у клиента может быть не установлена JRE, или установленна старая версия.

Проблемы клиента. smile Жестоко, но это реально проблемы клиента.

Цитата

Что значит "красивый"? Стандартный диалог загрузки файла делается в два счета <input type="file" (как например в форме быстрого ответа - прикрепить файл).

Хммм... Почти уговорил. smile

А если честно интересно просто как можно это в аплете реализовать. Неужели передача файла так трудно?
Или методом post нельзя в апплете сформировать такую посылку как в html который представлен выше?
PM MAIL   Вверх
LSD
Дата 18.3.2008, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



Цитата(Gugle @  18.3.2008,  18:03 Найти цитируемый пост)
А если честно интересно просто как можно это в аплете реализовать. Неужели передача файла так трудно?
Или методом post нельзя в апплете сформировать такую посылку как в html который представлен выше?

Да нет, если использовать например HttpClient то элементарно:
Код

File f = new File("/path/fileToUpload.txt");
PostMethod filePost = new PostMethod("http://host/some_path");
Part[] parts = {
  new StringPart("param_name", "value"),
  new FilePart(f.getName(), f)
};
filePost.setRequestEntity(new MultipartRequestEntity(parts, filePost.getParams()));
HttpClient client = new HttpClient();
int status = client.executeMethod(filePost);

только это как микроскопом гвозди забивать.

Добавлено через 3 минуты и 15 секунд
Цитата(Gugle @  18.3.2008,  18:03 Найти цитируемый пост)
Жестоко, но это реально проблемы клиента.

На самом деле твои, ибо если не будет работать или клиент придет с вопросами к тебе. Или вообще уйдет к конкуренту.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Gugle
Дата 19.3.2008, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 9.12.2005

Репутация: нет
Всего: нет



Цитата

На самом деле твои, ибо если не будет работать или клиент придет с вопросами к тебе. Или вообще уйдет к конкуренту.

smile Спорный вопрос и для другой темы.

Код

PostMethod filePost = new PostMethod("http://host/some_path");

Возвращает error:
Код

java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
       at org.apache.commons.httpclient.HttpMethodBase.<clinit>(HttpMethodBase.java:104)

Не могу понять что хочет. Вместо "http://host/some_path", ввел путь к своему серверу который должен принять файл. Он вообще никак не реагирует.
PM MAIL   Вверх
LSD
Дата 19.3.2008, 11:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



Цитата(Gugle @  19.3.2008,  10:49 Найти цитируемый пост)
Возвращает error:

Dependencies (junit нужен только для запуска тестов).


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Gugle
Дата 19.3.2008, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 9.12.2005

Репутация: нет
Всего: нет



Чего то я запутался.
Код

File f = new File("/path/fileToUpload.txt");
PostMethod filePost = new PostMethod("http://host/some_path"); // Создает POST запрос к серверу
Part[] parts = {
  new StringPart("param_name", "value"),
  new FilePart(f.getName(), f)
};
filePost.setRequestEntity(new MultipartRequestEntity(parts, filePost.getParams())); // Устанавливает настройки POST метода, т.е. что лежит в POST запросе.
HttpClient client = new HttpClient(); // Запрос от клиента.
int status = client.executeMethod(filePost); // Посылка запроса. По идее сервер должен отреагировать?

PM MAIL   Вверх
LSD
Дата 19.3.2008, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



И что тебе не понятно? 
После выполнения executeMethod() ты получишь код ответа от сервера (коды описаны в HttpStatus) или ексепшн если сервер не ответит или ответ будет неправильным (не соответвовать спецификации HTTP протокола).


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Gugle
Дата 19.3.2008, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 9.12.2005

Репутация: нет
Всего: нет



Сервак НеАлё!!!

Добавлено @ 12:37
А статус что Алё.
Код статуса 200, т.е. ОК!

Это сообщение отредактировал(а) Gugle - 19.3.2008, 12:38
PM MAIL   Вверх
LSD
Дата 19.3.2008, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



А ты уверен что сервак работает правильно?


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Gugle
Дата 19.3.2008, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 9.12.2005

Репутация: нет
Всего: нет



Так сервер отвечает при обращении к нему из формы. smile
Ладно чет с серваком. Пошел разбираться.

LSD Спасибо!

PS
На + нажал. smile

Это сообщение отредактировал(а) Gugle - 19.3.2008, 12:42
PM MAIL   Вверх
Gugle
Дата 19.3.2008, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 9.12.2005

Репутация: нет
Всего: нет



Возвращаясь к баранам.
Можно как нить посмотреть сколько передано?
PM MAIL   Вверх
LSD
Дата 19.3.2008, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



Создаешь свой класс унаследованный от FilePart, в нем переопределяешь метод sendData() где и считаешь количество переданых байт.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Апплеты | Следующая тема »


 




[ Время генерации скрипта: 0.1267 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.