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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Загрузки больших файлов на сервер? Создать средство загрузки больших файлов 
:(
    Опции темы
Goliath
  Дата 29.6.2005, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Мне поставили вот такое задание:
Цель: создать средство загрузки больших файлов (2М - 100М) на сервер.

Технологии: Java 2 SDK 1.4.x, JSP, Servlets.
App Server: Tomcat 5.0.28
Browsers: IE 6, Mozilla 1.7

Описание:

Для решения задачи требуется создать апплет, который бы читал файл с локального диска пользователя и передавал на сервер по частям. На сервере должен работать сервлет, который принимает части файла и записывает его на диск сервера.

Апплет для каждого кусочка файла должен формировать контрольную сумму, а сервлет – проверять переданные данные на соответствие контрольной сумме. Если кусочек файла передан неправильно (не совпали контрольные суммы) - он должен быть передан еще раз.

Данные должны передаваться через HTTP. Также нужно проверить передачу через HTTP прокси.

Use Case:

1. Пользователь выбирает файл и нажимает на кнопку «Submit».
2. После этого на новую форму передается путь к файлу на локальном диске пользователя и загружается апплет для передачи файла.
3. Загруженный апплет показывает прогресс загрузки (прямоугольник заполняется по мере передачи частей файла), размер переданной части файла, предполагаемое время загрузки.
4. После окончания загрузки должен произойти переход на другую страничку.

В данном задание меня смущает часть которая связана с апплетами. Подскажите, что с этим делать smile и буду очень признателен за ссылки!
smile smile
--------------------
Наша жизнь растрачивается на мелочи… Упрощайте, упрощайте. [Генри Торо] 
PM MAIL   Вверх
AntonSaburov
Дата 29.6.2005, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

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



А что именно смущает в апплете ? И это в разделе "Апплеты" лучше спрашивать.
PM MAIL WWW ICQ   Вверх
Goliath
Дата 29.6.2005, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Не могу реализовать upload апплетом следовательно не могу разбить на кусочки и передать все это дело сервлету smile
--------------------
Наша жизнь растрачивается на мелочи… Упрощайте, упрощайте. [Генри Торо] 
PM MAIL   Вверх
AntonSaburov
Дата 29.6.2005, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

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



Не понял.

Если ты хочешь закачивать с помощью апплета файл на любой сервер, то тебе надо реализовать две вещи:
1. Разрешить апплету считывать файлы на той машине, которая его загрузила.
2. Разрешить апплету коннектится с любым сервером, на который ты хочешь грузить файлы.
3. Надо на тех серверах, на которые ты хочешь грузить файлы установит софт, который умеет принимать файлы.

Пункты 1 и 2 надо делать либо меняя политику, либо (что наверно правильнее) подписывать свои апплеты (об этом у нас есть в FAQ статья). Подписи в апплетах.

И была какая-то библиотека загрузки файлов - надо поискать. Так и называлась FileUploadLib.
PM MAIL WWW ICQ   Вверх
Goliath
Дата 29.6.2005, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Я конечно могу показаться наглым, но можно какой-то мини примерчик или ссылачку на него? smile
--------------------
Наша жизнь растрачивается на мелочи… Упрощайте, упрощайте. [Генри Торо] 
PM MAIL   Вверх
Goliath
Дата 29.6.2005, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



У меня еще проблема и с: «Апплет для каждого кусочка файла должен формировать контрольную сумму, а сервлет – проверять переданные данные на соответствие контрольной сумме. Если кусочек файла передан неправильно (не совпали контрольные суммы) - он должен быть передан еще раз.». Я так понимаю что апплет должен получать ответ от сервлета. То есть это получается, что между ними должно быть беспрерывное соединение? Если да то как это реализовать.
--------------------
Наша жизнь растрачивается на мелочи… Упрощайте, упрощайте. [Генри Торо] 
PM MAIL   Вверх
Souljah
Дата 29.6.2005, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



апплет передает серверу файл и сумму как параметры post-запроса и считывает ответ сервера, который говорит все ли в порядке. обычный http запрос, постоянно держать соединение не надо
PM MAIL   Вверх
NetLord
Дата 30.6.2005, 08:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



В чем прчина использования апплета?
Это громоздко.
Почему бы ни использовать стандартные средства HTML multipart/form-data для отправки на сервер.
Для приема на сервере библиотека File Upload

PM MAIL   Вверх
Goliath
Дата 30.6.2005, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



>>>апплет передает серверу файл и сумму как параметры post-запроса и считывает ответ сервера, который говорит все ли в порядке. обычный http запрос, постоянно держать соединение не надо

Но мне нужно отправлять файл по кусочкам. Мне нужно его разбивать в апплета на мелкие кусочки по метра два и отправлять. Если все нормально отправлять следующий кусочек и так до тех пор, пока все кусочки ОДНОГО ФАЙЛА не будут отправлены серверу. И вопрос в том, как это реализовать?
smile
--------------------
Наша жизнь растрачивается на мелочи… Упрощайте, упрощайте. [Генри Торо] 
PM MAIL   Вверх
Guest
Дата 1.7.2005, 11:54 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Я так понял мне ни кто не поможет smile smile smile
  Вверх
AntonSaburov
Дата 1.7.2005, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

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



Полный пример здесь писать никто не будет - это работа не на один час. А посмотреть как сокет открыть на сервере и на клиенте - можно найти легко.

Тебе всю процедуру расписали - в апплете открыть сокет на тот серве с которого он запущен. Дать апплету разрешение для чтения фалов (это можно в FAQ посмотреть). А дальше считываем файл, пихаем его в поток для сокета. А сервер это тихонечко считывает и складывает. И все.

Начни писать что-нибудь и задавай конкретные вопросы. Не обижайся, просто здесь надо потратить немало времени, а у многих его нет.
Добавлено @ 12:03
Если ты хочешь с помощью HTTP это отправлять оп кусочкам, то насколько я знаю обычный WWW-сервер такому не обучен. Да и HTTP это делать не умеет. А значит надо писать что-то свое на стороне сервера.
PM MAIL WWW ICQ   Вверх
Goliath
Дата 4.7.2005, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Большое спасибо за советы smile . Начел писать вроде бы пока все нормально smile . Если че буду спрашивать smile .
--------------------
Наша жизнь растрачивается на мелочи… Упрощайте, упрощайте. [Генри Торо] 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

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

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


 




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


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

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