Rumah >Java >javaTutorial >Bagaimana untuk Muat Turun Fail Dijana Secara Dinamik Menggunakan Pengawal Spring?
Memuat Turun Fail daripada Pengawal Spring
Banyak aplikasi memerlukan muat turun fail daripada tapak web. Dalam sesetengah kes, fail ini dijana secara dinamik menggunakan rangka kerja seperti Freemarker dan perpustakaan penjanaan PDF seperti iText. Walau bagaimanapun, ini menimbulkan isu tentang cara membenarkan pengguna memuat turun fail melalui Pengawal Spring.
Penyelesaian melibatkan penggunaan objek HttpServletResponse untuk menulis fail ke aliran output. Ini boleh dicapai dengan kod berikut:
@RequestMapping(value = "/files/{file_name}", method = RequestMethod.GET) public void getFile( @PathVariable("file_name") String fileName, HttpServletResponse response) { try { // get your file as InputStream InputStream is = ...; // copy it to response's OutputStream org.apache.commons.io.IOUtils.copy(is, response.getOutputStream()); response.flushBuffer(); } catch (IOException ex) { log.info("Error writing file to output stream. Filename was '{}'", fileName, ex); throw new RuntimeException("IOError writing file to output stream"); } }
Setelah strim output boleh diakses, ia boleh digunakan sebagai destinasi untuk PDF yang dijana oleh penjana PDF. Selain itu, dengan menetapkan Jenis Kandungan kepada "aplikasi/pdf", jenis fail yang betul boleh ditentukan untuk penyemak imbas.
Atas ialah kandungan terperinci Bagaimana untuk Muat Turun Fail Dijana Secara Dinamik Menggunakan Pengawal Spring?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!