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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> загрузка файлов? атрибуты закачки 
:(
    Опции темы
Klio
  Дата 18.4.2010, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 111
Регистрация: 18.4.2008
Где: Харьков - СС_3

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



Приветствую господа программисты!
У меня есть пара-тройка вопросов о скачивании файлов:
- файл сервер поддерживает загрузку только по ftp протоколу, как можно организовать загрузку.
- возможно ли узнать размер закачиваемого файла до обработки самой загрузки, 
- как можно осуществить организацию прерывания загрузки!
Заранее спасибо всем кто хоть что-то об этом знает!
PM MAIL ICQ   Вверх
powerOn
Дата 18.4.2010, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

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



Цитата

загрузка файлов? атрибуты закачки

Цитата(Klio @  18.4.2010,  13:55 Найти цитируемый пост)
У меня есть пара-тройка вопросов о скачивании файлов:

Так вас интересует upload файлов на сервер или download с сервера?

Цитата(Klio @  18.4.2010,  13:55 Найти цитируемый пост)
файл сервер поддерживает загрузку только по ftp протоколу, как можно организовать загрузку.

Вы пишите файл сервер или клиента? или и то и то? Общение по FTP протоколу? 

Цитата(Klio @  18.4.2010,  13:55 Найти цитируемый пост)
- возможно ли узнать размер закачиваемого файла до обработки самой загрузки, 

На клиенте или сервере?

Цитата(Klio @  18.4.2010,  13:55 Найти цитируемый пост)
- как можно осуществить организацию прерывания загрузки!

На клиенте или сервере?




--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
Klio
Дата 18.4.2010, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 111
Регистрация: 18.4.2008
Где: Харьков - СС_3

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



извиняюсь не корректно написал...
Загрузка файлов на сервер (upload).
Размер файла определить на сервере в Servletе.
Возможность сервера - лишь чтение и обработка файлов, запись на диск возможна 
лишь по ftp.
PM MAIL ICQ   Вверх
dobrolub
Дата 19.4.2010, 07:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 385
Регистрация: 18.12.2009
Где: Vancouver, Canada

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



Код

import java.io.*;
import java.net.*;

public class T {
  public static void main(String[] args) throws Exception {
    File file = new File("c:/temp/file-to-upload.bin");  // локальный файл
    System.out.println("Len: " + file.length()); // size of file
    InputStream in = new FileInputStream(file);
    
    URL url = new URL("ftp://username:[email protected]/pub/upload/target-file.bin"); //username and password, target file
    OutputStream out = url.openConnection().getOutputStream();
    byte []buffer = new byte[9192];
    int len;
    while ((len = in.read(buffer)) > 0)
       out.write(buffer, 0, len);

    out.flush();
    out.close();
  
    //сделано

   
  }
}


Для того чтобы процесс был прерываемым надо делать upload в новой Thread  и прерывать эту Тhread



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


Шустрый
*


Профиль
Группа: Участник
Сообщений: 111
Регистрация: 18.4.2008
Где: Харьков - СС_3

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



Мне казалось как Тhread так и InputStream и OutputStream это организации потоков!

или же необходимо создать отдельно поток рода "       Thread nnew;          " 
а потом, указанную выше обработку загрузки, добавить в обработку данного потока?
PM MAIL ICQ   Вверх
dobrolub
Дата 19.4.2010, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 385
Регистрация: 18.12.2009
Где: Vancouver, Canada

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



примерно так:
 

Код

Runnable uploader  = new Runnable() {
  public void run() {
     //код загрузки;
  }
};

Thread worker = new Thread(uploader);
worker.start();

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


Шустрый
*


Профиль
Группа: Участник
Сообщений: 111
Регистрация: 18.4.2008
Где: Харьков - СС_3

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



поточный вопрос:
можно ли куда-нибудь (например в куки) записать ссылку на элемент "worker" - чтобы потом можно управлять данным потоком (остановка, приостановка, запуск), с других страниц (задумка для реализации на Ajax).
Или же есть более простой вариант реализации?
PM MAIL ICQ   Вверх
dobrolub
Дата 19.4.2010, 20:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 385
Регистрация: 18.12.2009
Где: Vancouver, Canada

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



Да. Worker нужно поместить в Map<String, Thread> map = new HashMap<String, Thread>();

где  String уникальный идентификатор выдаваемый каждому workerу.

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

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

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


 




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


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

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