vue 下載excel模板遇到的問題(文件不存在 文件已損壞)


進入新的公司,分到了一個小需求,很簡單,就是在管理系統的列表頁面增加批量導入和導出的功能,不過居然讓我連前端一起干,我@#@%#@!!,沒辦法只能干,后端接口很簡單,用poi或jxl讀取或者生成excel文件就行,前端就很費勁,之前干前端還是5年前,jsp+js的方式。而現在都是vue+element。遇到了一些問題。記錄下來,如果還有誰遇到了,希望能有幫助

一、文件不存在

  模板下載,導入前要下載模板,就琢磨這把模板excel文件當成一個靜態資源直接放到項目中下載。基於原來html的想法,我直接在下載模板的地方加一個a標簽。

<a href="./XXX/XXX/模板.xlxs" >下載模板</a>

    然后發現點擊后不會觸發下載,而是跳到莫名奇妙的首頁,后來發現vue里a標簽正確用法如下:要有download屬性

<a href="./XXX/XXX/模板.xlxs" download="模板.xlxs">下載模板</a>

  能夠觸發瀏覽器的下載動作了,不過發現出現“下載出錯,文件不存在”的錯誤,經過百度,vue工程下載靜態資源應該放在/public/static/..下面,並且路徑要寫public下面index.html的相對路徑

 

 

<a href="./static/file/話術導入模板.xlsx" download="話術導入模板.xlsx">模板下載</a>

二、文件已損壞

這樣在前后單分別啟動(vue打包前)可以正常下載,不過把vue工程執行打包命令(npm run build:prod)打包到springboot jar包的/resource/后,啟動jar包項目,訪問,下載后,打開excel,出現文件已損壞的問題,又在網上查詢,這塊網上說的比較少,不過還是找到了解決辦法,是因為,mven在編譯resource下面的文件會進行相關處理,比如變量替換,破壞了excel文件。解決辦法如下,修改pom文件。

 

 到此,打包后也能正常下載了,問題解決。

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM