Vue如何下載本地靜態(tài)資源static文件夾
下載本地靜態(tài)資源static文件夾
下載靜態(tài)文件方法
<a href="/static/serviceAgreement.docx" rel="external nofollow" rel="external nofollow" download="下載"></a>
下載
項目需要下載本地的docx文檔,文檔是放在本地的沒有在服務器,所以需要下載本地靜態(tài)資源文件,開始把文件放在了這里src目錄下的assets資源文件下
下載報錯 找不到文件路徑查找原因是因為項目用的是vue-cli3, 在打包的時候并不知道會把assets
下的文件打包在哪里,但是在build的時候發(fā)現在根目錄下的文件是打包在當前路徑下的
所以我們要把需要下載的靜態(tài)資源放在public文件夾下的static文件夾下就可以了
你可能在輸入路徑的時候會提示你是src,而不直接是static,但是你還是要直接輸入static這個路徑
<a href="/static/serviceAgreement.docx" rel="external nofollow" rel="external nofollow" download="服務協(xié)議"></a>
需要注意的是:cli2需要把要下載的文件放在static下面;cli4需要將文件放在public里面才不會被打包。
注意:href 指向項目中pdf文件的路徑(不要出現中文),download 就是重命名的文件名,不設置的話就是默認文件名
發(fā)現vue版本是 3.0+ 所有把要下載的 文件直接放到public文件夾中(最好英文名字)
下載本地static靜態(tài)文件的踩坑
接手了一個別人做的官網項目,里面添加一些功能,國際化(國際化);接著有一個下載的功能,一般都是后端甩一個鏈接你放上面就好,但是這個小功能再去找一個后端搞,太夸張了吧,那我們就自己搞!
方法當然是非常多的,但是我試了幾種,總是會報一個錯誤;“未發(fā)現文件”,還有的時候就是:房子同一個地址下面;非壓縮包的文件可以正常下載,但是壓縮包就不能下載;
上代碼
最簡單的就是利用a標簽
<el-button round ><a href="/xlsx/test.xlsx" rel="external nofollow" download="大賽報名表.xlsx" ? >報名參賽</a ></el-button>
會有人疑問路徑是不是不對,
一般訪問static里面的文件路徑是:"…/…/static/zip/test.xlsx"
我開始也是這樣寫的,一直報錯”未找到文件“,
后來看了cli版本,發(fā)現是cli4有一些變化,改成代碼中的路徑就可以了;
還有一個問題就是相同路徑,普通文件可以下載,但是壓縮包無法下載,(我試驗過把壓縮包和普通文件放到同一個路路徑下依然有問題);
這個時候我們就不要在html里面去操作他了;給他一個點擊事件
上代碼
html
<el-button @click="download"> 題目下載 </el-button>
script
methods: { ? ? download() { ? ? ? window.location.href = "/zip/subject.zip"; ? ? }, ? },
兩個文件的路徑
做一下記錄,以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
el-select自定義指令實現觸底加載分頁請求options數據(完整代碼和接口可直接用)
某些情況下,下拉框需要做觸底加載,發(fā)請求,獲取option的數據,下面給大家分享el-select自定義指令實現觸底加載分頁請求options數據(附上完整代碼和接口可直接用),感興趣的朋友參考下吧2024-02-02vue.js el-tooltip根據文字長度控制是否提示toolTip問題
這篇文章主要介紹了vue.js el-tooltip根據文字長度控制是否提示toolTip問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02vue template中slot-scope/scope的使用方法
今天小編就為大家分享一篇vue template中slot-scope/scope的使用方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09