Принудительная загрузка файлов на App Engine - PullRequest
2 голосов
/ 19 июня 2010

Как мне заставить браузер загружать медиафайлы вместо их потоковой передачи? Это статические файлы в моей директории приложения.

Ответы [ 2 ]

0 голосов
/ 21 июня 2010

если вы используете Java, то вы можете использовать следующий код.

//Set content type
resp.setContentType("text/csv" + .getContentType());

//Set header for attachement
resp.setHeader("Content-Disposition","attachment;filename=Myfile.csv");

//Retrieve file from database and convert to byte
resp.getOutputStream().write(b.getFile().getBytes());

//Close stream 
resp.getOutputStream().close();
0 голосов
/ 19 июня 2010

Вам необходимо изменить app.yaml в вашем проекте, установив application/octect-stream как mime_type.Проверьте этот пример:

- url: /download
  static_dir: static/download
  mime_type : application/octect-stream

Как правильно указано в комментарии, не стоит принудительно загружать определенный тип mime_type.Если ваши пользователи предпочли бы потоковую передачу вашего контента, а не загрузку, это их решение, и вам не следует заставлять их загружать ваши файлы.
Вы можете предоставить две разные ссылки, одну с потоком, а другую с помощью диалогового окна сохранения.

...