From springboot to proficient in springboot file download

springboot file download catalog 1 IntroductionInitial experience of 2springboot3springboot integrated jsp4springboot attribute injection5 springboot...
catalog
Download via interface
Picture to page
springboot file download

catalog

1 Introduction
Initial experience of 2springboot
3springboot integrated jsp
4springboot attribute injection
5 springboot integration with mybatis
6springboot integrated lombok
7springboot integrated logback log
8springboot enable global hot deployment
9springboot aspect oriented programming
10springboot file upload
11springboot file download
12springboot custom interceptor
13 spring boot as war package
14 spring boot is published as jar package
15springboot custom banner
16springboot profile split
17 summary

Download via interface

Download is relatively simple. We just need to know the file name and storage path of the downloaded file. In the following example, all the files to be downloaded are saved in the download file under webapp
Below the folder, this path can be obtained by code, and the file name needs to be passed from the foreground.

@Controller @RequestMapping("test") public class TestController { @RequestMapping("download") public void uploadFile(String fileName, HttpServletRequest request, HttpServletResponse response) throws IOException { //Get the absolute path of the folder where the file is located String realPath = request.getServletContext().getRealPath("download"); //Reading files from specified directory according to file name FileInputStream fileInputStream = new FileInputStream(new File(realPath, fileName)); //Set the response header information and open it as an attachment. If it is not set, the file will be opened directly on the page. To prevent file names from having Chinese names, UTF-8 is added after them response.setHeader("content-disposition","attachment;fileName="+ URLEncoder.encode(fileName,"UTF-8")); //Create a response flow, and respond with the response flow ServletOutputStream outputStream = response.getOutputStream(); //Copy the contents of the file stream to the response stream IOUtils.copy(fileInputStream, outputStream); //Close flow IOUtils.closeQuietly(fileInputStream); IOUtils.closeQuietly(outputStream); } }

jsp page core code

<h2>Download page</h2> <a href="$test/download?fileName=test1.txt">test1.txt</a> <a href="$test/download?fileName=test2.txt">test2.txt</a> <a href="$test/download?fileName=test3.png">test3.png</a>

::: tip tip

  1. The download file must be added with a response header. Set the file to be opened as an attachment, or it will be opened directly on the page
  2. This is the application principle of the actual project, but the address of the file in the actual project may need to be read from the database first, and then passed to our interface, that is, our fileName parameter
    :::

Picture to page

Just add the download connection to the src of img in the foreground
< img SRC = "$ test / download? Filename = test3. PNG" ALT = "test picture" style = "height: 300px; width:600px; >


Sample download address of this section: springboot-test11.zip

::: warning note
In different platforms, the effect of document display is different. The best and most comprehensive viewing address is: springboot file download
Welcome to blog to learn more: java paradise
:::

14 June 2020, 01:32 | Views: 1521

Add new comment

For adding a comment, please log in
or create account

0 comments