您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“Html5下載文件前后端的示例代碼”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Html5下載文件前后端的示例代碼”這篇文章吧。
</!DOCTYPE html> <html> <head> <title></title> <script> function download(){ const link = document.createElement('a') link.download = "template.xlsx" link.style.display = 'none' link.href = 'http://localhost:8080/test/downloadTemplate' document.body.appendChild(link) link.click() } </script> </head> <body> <input type="button" onclick="download()" name="download" value="download" /> </body> </html>
/** * 下載導入模板 * * @param response * @return */ @GetMapping(value = "downloadTemplate") @ResponseBody public void downloadTemplate(HttpServletResponse response) { File templatePath = new File("D:/tempTest"); if (!templatePath.exists()) { templatePath.mkdirs(); } InputStream in = null; OutputStream out = null; try { String fileName = "template.txt"; File file = new File("D:/tempTest/" + fileName); if(!file.exists()){ file.createNewFile(); } in = new BufferedInputStream(new FileInputStream(file)); // 設置response的Header response.addHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes())); response.addHeader("Content-Length", "" + file.length()); out = new BufferedOutputStream(response.getOutputStream()); response.setContentType("application/octet-stream"); byte[] buffer = new byte[1024]; int count; while ((count = in.read(buffer)) > 0) { out.write(buffer, 0, count); } out.flush(); } catch (Exception e) { e.printStackTrace(); } finally { try { if (in != null) { in.close(); } if (out != null) { out.close(); } } catch (IOException e) { } } }
以上是“Html5下載文件前后端的示例代碼”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。