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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отдать файл пользователю 
:(
    Опции темы
Grig
Дата 24.3.2008, 11:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Лежит файл на серваке.
как средствами Ява его можно отдать пользователю, чтобы тот его мог открыть, сохранить?
Создание ссылки не нужно.


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


Шустрый
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 18.1.2007
Где: Владивосток

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



Не совсем понятно, что значит "создание ссылки не нужно".  Видимо, не хочется статического адреса?

Делается сервлет. Определяется метод наподобие:
Код

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {       
        String file = request.getParameter("file"); // разбираем запрос - выясняем какой файл просят

        try {         
            response.setContentType("image/jpeg");
            ServletOutputStream out = response.getOutputStream();
            out.write(массивБайтовЯвляющийсяКартинкой);
            out.flush();
        } catch (Exception e) {
            throw new ServletException(e.toString());
        }
    }
}

Предполагается, что массивБайтовЯвляющийсяКартинкой - загружается из БД или считывается с диска на основе разбора запроса.

Ссылка для доступа будет например такая (если сервлет прописать на "getFile"):
http://www.мой_сайт.ru/ИмяВебПриложения/ge...=моя_собака.jpg

Это сообщение отредактировал(а) RebornCrusader - 24.3.2008, 13:08
--------------------
"Fais se que dois, - adviegne que peut. C'est commande au chevalier"
PM   Вверх
mbasil
Дата 24.3.2008, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 399
Регистрация: 4.5.2007
Где: Москва

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



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

           сервер
Код

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

 public class SimpleServer {
   public static void main(String args[]) {
    ServerSocket s = null;
    BufferedWriter bw = null;
    Socket s1 = null;
   // Register your service on port 5432
   try {
           s = new ServerSocket(5432);
       } catch (IOException e) {
                  e.printStackTrace();
     }
 // Run the listen/accept loop forever
   while (true) {
     try {
              // Wait here and listen for a connection
              s1 = s.accept();

             // Get output stream associated with the socket
             OutputStream s1out = s1.getOutputStream();
             bw = new BufferedWriter(
                                 new OutputStreamWriter( s1out ));

              // Send your string!
              bw.write(“Hello Net World!\n”);

    } catch (IOException e) {
                  e.printStackTrace();
   } finally {
       try {
          if( bw != null ) bw.close();
          if( s1 != null )  s1.close();
        } catch (IOException e) {}
   } 
} // end of while(true)
} // end of main method
} // end of SimpleServer program

         клиент
Код

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

public class SimpleClient {

   public static void main(String args[]) {

    try {
    // Open your connection to a server, at port 5432
    // localhost used here
   Socket s1 = new Socket("127.0.0.1", 5432);

    // Get an input stream from the socket
   InputStream is = s1.getInputStream();
   InputStreamReader irs = new InputStreamReader(is);
   BufferedReader br = new BufferedReader(isr);
   // Read the input and print it to the screen
   System.out.println(br.readLine());

   // When done, close the steam and connection
   br.close();
   s1.close();
  } catch (ConnectException connExc) {
               System.err.println(“Could not connect.”);
  } catch (IOException e) {
        // ignore
 } // end of try-catch
} // end of main method
} // end of SimpleClient program


Это сообщение отредактировал(а) powerOn - 24.3.2008, 14:28
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0415 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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