Perl CGI :: Application :: Plugin: плагин Stream + Jquery Taconite - невозможно загрузить файл - PullRequest
4 голосов
/ 09 июля 2009

Я использую плагин Stream (qw / stream_file /) для CGI :: Application в режиме выполнения, чтобы прочитать файл из файловой системы и передать его обратно пользователю.

Пользователь нажимает на ссылку, атрибут «id» которой я использую при вызове ajax с использованием Jquery для извлечения файла (/?mode=get_file&fileid=).

Я также использую плагин taconite Jquery для обновления содержимого страницы в других частях моего приложения; но я не возвращаю xml в режиме выполнения get_file, который выглядит следующим образом:


sub get_file{
  my $self = shift;
  my $fileid=$self->query->param("fileid");
  $self->header_add( -attachment => $fileid );
  $self->header_add( -type => "application/x-download");
  if ( $self->stream_file( $fileid ) ) {
        return;
  } else {
        return $self->error_mode();
  }
}

Результат:

  • Файл действительно потоковый, как и ожидалось (Firebug говорит мне об этом)
  • Заголовки в порядке (как в Firebug)

Моя проблема:

  • Содержимое файла никогда не представляется мне как файл, который можно загрузить.

Я подозревал, что плагин taqconite каким-то образом удаляет заголовки. Тем не менее, я не уверен, что лучший способ решить эту проблему.

Любые идеи будут наиболее полезны.

Спасибо / Фут

Ответы [ 2 ]

1 голос
/ 12 июля 2009

Пока я не могу понять это, я просто иду с прямой ссылкой, чтобы загрузить файл. (т.е. без xmlhttp), чтобы избежать маршрута httpdata Jquery.

0 голосов
/ 22 июля 2009

Куда идет файл, если он передается в потоковом режиме?

...