Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.07.2010, 15:56
Аспирант
Отправить личное сообщение для GRIG Посмотреть профиль Найти все сообщения от GRIG
 
Регистрация: 26.03.2010
Сообщений: 55

Передача файлов на клиента средствами AJAX
Привет всем. Помогите по такой проблеме.
Есть клиентская страница, которая через AJAX взаимодействует с сервером. В результате действий этой страницы на сервере сформировался некий файл. ВОПРОС: как доставить этот файл на клиента?
Нужно решение, которое доставит файл клиенту в реальном времени. Чтобы пользователь кликнул на кнопку - и через считанные секунды увидел запрос "получен файл - каким приложением его открыть?"
Ответить с цитированием
  #2 (permalink)  
Старый 16.07.2010, 16:17
Интересующийся
Отправить личное сообщение для Sahaviev Посмотреть профиль Найти все сообщения от Sahaviev
 
Регистрация: 16.07.2010
Сообщений: 13

Редирект сделать на другую страницу. там через header передать файл.

Например так.
<?php
header("Content-type: text/plain");
header("Content-Disposition: attachement; filename=text.txt");

$fh = fopen("text.txt", "r+");// открываем нужный файлик
$text = fread($fh,filesize("text.txt"));// считываем что нам нужно
echo $text;// отправляем пользователю
fclose($fh);
?>


или так:

<?php
header("Content-type: text/plain");
header("Content-Disposition: attachement; filename=text.txt");

readfile('text.txt');// имя файла, который необходимо передать
?>


Я же не ошибаюсь? Через php нужно реализовать?

Последний раз редактировалось Sahaviev, 16.07.2010 в 16:20.
Ответить с цитированием
  #3 (permalink)  
Старый 16.07.2010, 16:18
Аспирант
Отправить личное сообщение для GRIG Посмотреть профиль Найти все сообщения от GRIG
 
Регистрация: 26.03.2010
Сообщений: 55

Это как раз понятно. В моем случае сервер все это уже сделал. И вопрос в том, что должен сделать клиент, чтобы получить этот файл.
Когда на клиенте обычная HTML-страница - все понятно. А когда там скрипт с аяксом?

Последний раз редактировалось GRIG, 16.07.2010 в 16:20.
Ответить с цитированием
  #4 (permalink)  
Старый 16.07.2010, 16:21
Интересующийся
Отправить личное сообщение для Sahaviev Посмотреть профиль Найти все сообщения от Sahaviev
 
Регистрация: 16.07.2010
Сообщений: 13

Сообщение от GRIG Посмотреть сообщение
Что делать на стороне сервера - это я и так знаю. Меня интересует ситуация со стороны клиента.
Java Script'ом?
Ответить с цитированием
  #5 (permalink)  
Старый 16.07.2010, 16:22
Аспирант
Отправить личное сообщение для GRIG Посмотреть профиль Найти все сообщения от GRIG
 
Регистрация: 26.03.2010
Сообщений: 55

Не просто JavaScript'ом, а AJAX-ом
Ответить с цитированием
  #6 (permalink)  
Старый 16.07.2010, 16:26
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

GRIG,
Сообщение от Sahaviev
Редирект сделать на другую страницу.
Причём здесь ajax?
Ответить с цитированием
  #7 (permalink)  
Старый 16.07.2010, 16:26
Интересующийся
Отправить личное сообщение для Sahaviev Посмотреть профиль Найти все сообщения от Sahaviev
 
Регистрация: 16.07.2010
Сообщений: 13

Сообщение от GRIG Посмотреть сообщение
Не просто JavaScript'ом, а AJAX-ом
Либо обычный редирект. Либо iframe - нужно создавать.

Посредством XMLHTTPRequest файлы с сервера отправлять нельзя. header() в ajax выполнять тоже нельзя.
Ответить с цитированием
  #8 (permalink)  
Старый 16.07.2010, 16:27
Интересующийся
Отправить личное сообщение для Sahaviev Посмотреть профиль Найти все сообщения от Sahaviev
 
Регистрация: 16.07.2010
Сообщений: 13

Сообщение от Kolyaj Посмотреть сообщение
GRIG,

Причём здесь ajax?
Сглупил, извиняюсь
Ответить с цитированием
  #9 (permalink)  
Старый 16.07.2010, 16:30
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Sahaviev,
это было не вам, вы всё правильно написали.
Ответить с цитированием
  #10 (permalink)  
Старый 16.07.2010, 16:31
Аспирант
Отправить личное сообщение для GRIG Посмотреть профиль Найти все сообщения от GRIG
 
Регистрация: 26.03.2010
Сообщений: 55

Сообщение от Sahaviev Посмотреть сообщение
Либо обычный редирект. Либо iframe - нужно создавать.
Про iframe - где почитать?
Цитата:
Посредством XMLHTTPRequest файлы с сервера отправлять нельзя. header() в ajax выполнять тоже нельзя.
Абыдна-а-а-а-а ...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка БОЛЬШИХ файлов посредством ajax barcelona jQuery 7 12.10.2012 03:37
jQuery ajax аплоад файлов frstua jQuery 43 17.03.2011 04:21
Сохранение данных на стороне клиента средствами Javascript baal1988 Events/DOM/Window 4 24.08.2008 21:32