В веб -разработке часто необходимо разработать модуль «скачать». Вот простой пример.
На стороне сервера используйте Java для разработки:
@RequestMapping (value = "download.html", method = requestmethod.get) public void загрузка (string resourceid, httpservlectrequest, httpservletresponse response) {response.setContentType ("charset = utf-8"); File file = new File (path); response.setheader («Содержание-распределение», «Приложение; файл имя = a»); BufferedInputStream bis = null; BufferedOutputStream bos = null; OutputStream fos = null; InputStream fis = null; try {fis = new FileInputStream (file.getAbsolutePath ()); bis = new BufferedInputStream (FIS); fos = response.getOutputStream (); bos = new BufferedOutputStream (FOS); int bytesread = 0; Byte [] buffer = новый байт [5 * 1024]; while ((bytesread = bis.read (buffer))! = -1) {bos.write (буфер, 0, Bytesread); } bos.flush (); } catch (e e) {} наконец {try {bis.close (); bos.close (); fos.close (); fis.close (); } catch (ioException e) {e.printstackTrace (); }}}Когда мы запрашиваем этот адрес на переднем конце, сервер сначала находит файл, устанавливает заголовок ответа, а затем выводит его в сторону браузера через поток.
Если браузер находит в заголовке, что корпус ответа является потоковым файлом, он автоматически вызовет окно «Сохранить как», чтобы позволить пользователю сохранить загрузку.
Ключом здесь является свойство заголовка контента. Дисплава контента-это расширение протокола MIME, чтобы указать, как позволить клиенту отобразить файл вложения.
Это может быть установлено на два значения:
Встроенный // открыть онлайн
Приложение // Скачать в качестве вложения
Здесь мы установили значение для вложения, поэтому его можно распознать как вложение и загрузить.
В приведенном выше рассказывается о том, как написать на стороне сервера, и в следующем рассказывается о том, как запросить фронт.
Есть три способа запросить фронт:
1. форма
<form action = 'Загрузить
2.IFRAME
var iframe = "<iframe style = 'display: none' src = 'download.html'> </iframe>" body.append (iframe);
Когда IFRAME добавляется к корпусу, ссылка загрузки будет автоматически запрошена.
3. Опен
window.open ("download.html");