En el desarrollo web, a menudo es necesario desarrollar el módulo "Descargar". Aquí hay un ejemplo simple.
En el lado del servidor, use Java para desarrollar:
@RequestMapping (value = "download.html", método = requestmethod.get) public void download (String ResourceId, httpservletRequest solicitud, respuesta httpServletResponse) {Response.SetContentType ("Charset = UTF-8"); Archivo archivo = nuevo archivo (ruta); respuesta.setheader ("Disposición de contenido", "Adjunto; FileName = A"); BufferedinputStream bis = null; BufferedOutputStream bos = null; OutputStream fos = null; InputStream Fis = NULL; intente {fis = new FileInputStream (file.getabsolutePath ()); bis = new BufferedInputStream (FIS); fos = respuesta.getOutputStream (); bos = new BufferedOutputStream (FOS); int bytesread = 0; byte [] buffer = new Byte [5 * 1024]; while ((bytesread = bis.read (buffer))! = -1) {bos.write (buffer, 0, bytesread); } bos.flush (); } catch (e e) {} finalmente {try {bis.close (); bos.close (); fos.close (); fis.close (); } catch (ioException e) {E.PrintStackTrace (); }}}Cuando solicitamos esta dirección en el frente, el servidor primero encuentra el archivo, establece el encabezado de respuesta y luego la genera al lado del navegador a través de la secuencia.
Si el navegador encuentra en el encabezado que el cuerpo de la respuesta es un archivo de transmisión, llamará automáticamente la ventana Guardar como para permitir que el usuario guarde la descarga.
Una clave aquí es la propiedad del encabezado de la difusión de contenido. Elimento de contenido es una extensión del protocolo MIME para indicar cómo dejar que el cliente muestre el archivo de archivos adjuntos.
Se puede establecer en dos valores:
en línea // Abrir en línea
Adjunto // Descargar como archivo adjunto
Aquí establecemos el valor en el archivo adjunto, por lo que puede reconocerse como un archivo adjunto y descargar.
Lo anterior habla sobre cómo escribir en el lado del servidor y lo siguiente sobre cómo solicitar el front-end.
Hay tres formas de solicitar front-end:
1.Forma
<Form Action = 'download.html' método = 'post'> <input type = 'enviar'/> </form>
2.Frame
var iframe = "<iframe style = 'Display: None' src = 'download.html'> </frame>" body.append (iframe);
Cuando se agrega un iframe al cuerpo, el enlace de descarga se solicitará automáticamente.
3. Abre
Window.open ("download.html");