Как перенаправить загрузку файла с помощью Grails?

StackOverflow https://stackoverflow.com/questions/168073

  •  03-07-2019
  •  | 
  •  

Вопрос

В настоящее время я пишу веб-сайт, который позволяет людям загружать Excel и текстовые файлы. Есть ли способ перенаправить на другую страницу, когда они щелкают, чтобы мы запускали javascript и выполняли аналитику (т.е. сохраняли счетчик загрузок)? В настоящее время ничто не мешает пользователю просто щелкнуть правой кнопкой мыши и сохранить.

Изменить.

Точнее говоря, было бы неплохо, чтобы один или два щелчка мышью по ссылке на файл перенаправили на временную страницу загрузки для аналитики, а затем загрузили файл.

Это было полезно?

Решение

Я начал описывать, как вы можете сделать это в Grails, но потом вспомнил, что большинство аналитических сервисов (Google, Omniture и т. д.) позволяют отслеживать загруженные файлы с помощью события onclick. Если у вас есть пользовательское отслеживание на основе JavaScript, вы можете сделать то же самое. Онклик будет вызван до начала загрузки документа. Например:

<a href="/path-to-download-file" onclick="record_download('filename')">myfile.txt</a>

Более конкретно для Google Analytics, вот несколько JavaScript, которые делают это автоматически: http://www.goodwebpractices.com/downloads/gatag.js

Другие советы

Я не уверен, что вы спрашиваете здесь, вы пытаетесь выяснить, как перенаправить в контроллере, или вы пытаетесь изменить поведение щелчка правой кнопкой мыши в браузере?

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

redirect(controller:"book",action:"list")

Если вы пытаетесь изменить поведение кнопки или ссылки на стороне клиента и, скорее всего, потребуется некоторый Javascript.

Если уточнить, я мог бы помочь больше.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top