js下載文件并修改文件名
用js下載文件,使用<a>標(biāo)簽,添加download屬性即可。
var a = document.createElement("a"); a.; a.download ="test.mp3"; a.click();
但是如果想給文件重新命名,貌似js無(wú)法實(shí)現(xiàn)。
因此考慮后臺(tái)實(shí)現(xiàn),用java代理請(qǐng)求,獲取文件設(shè)置文件名,返回到前端。
public void downFiles(HttpServletResponse response,String url,String workInfoId,int type){ try{ String prefix = type == 1 ? "wav" : "txt"; url = type == 1 ? url : (url + "?textInfoId="+workInfoId); HttpEntity entity = Request.Get(url). execute().returnResponse().getEntity(); byte[] bys = EntityUtils.toByteArray(entity); //獲取作品名稱 Works works = this.worksDao.findByWorkId(workInfoId); String name = (works!=null && StringUtils.isNotBlank(works.getName())) ? works.getName() : Long.toString(new Date().getTime()); response.setHeader("Content-Disposition", "attachment; filename="+ new String(name.getBytes("utf-8"), "ISO-8859-1")+"."+prefix); OutputStream out = response.getOutputStream(); out.write(bys); out.close(); }catch (Exception e){ e.printStackTrace(); } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JS中如何比較兩個(gè)Json對(duì)象是否相等實(shí)例代碼
這篇文章主要介紹了JS中如何比較兩個(gè)Json對(duì)象是否相等實(shí)例代碼的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-07-07原生js實(shí)現(xiàn)復(fù)制對(duì)象、擴(kuò)展對(duì)象 類似jquery中的extend()方法
jq的extend()方法能很方便的實(shí)現(xiàn)擴(kuò)展對(duì)象方法,這里要實(shí)現(xiàn)的是:原生js實(shí)現(xiàn)復(fù)制對(duì)象,擴(kuò)展對(duì)象,類似jq中的extend()方法,需要的朋友可以參考下2014-08-08Js判斷兩個(gè)數(shù)組是否相等的幾種常見(jiàn)場(chǎng)景
無(wú)論是在開發(fā)中還是面試時(shí),在js中判斷變量是否相等,都是一個(gè)比較常見(jiàn)的問(wèn)題,這篇文章主要給大家介紹了關(guān)于Js判斷兩個(gè)數(shù)組是否相等的幾種常見(jiàn)場(chǎng)景,需要的朋友可以參考下2024-07-07javascript:void(0)的問(wèn)題使用探討
想做一個(gè)鏈接點(diǎn)擊后不做任何事情,方法有很多,不過(guò)不利于用戶體驗(yàn),javascript:void(0)可以有效解決這個(gè)問(wèn)題2014-04-04javascript十六進(jìn)制及二進(jìn)制轉(zhuǎn)化的方法
這篇文章主要介紹了javascript十六進(jìn)制及二進(jìn)制轉(zhuǎn)化的方法,涉及javascript中toString方法的使用技巧,需要的朋友可以參考下2015-05-05JS判斷頁(yè)面是否出現(xiàn)滾動(dòng)條的方法
這篇文章主要介紹了JS判斷頁(yè)面是否出現(xiàn)滾動(dòng)條的方法,涉及javascript針對(duì)頁(yè)面元素的讀取與判定實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07微信小程序?qū)崿F(xiàn)多選框全選與反全選及購(gòu)物車中刪除選中的商品功能
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)多選框全選與反全選及購(gòu)物車中刪除選中的商品功能,本文通過(guò)截圖實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2019-12-12JavaScript實(shí)現(xiàn)移動(dòng)端橫豎屏檢測(cè)
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)移動(dòng)端橫豎屏檢測(cè),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07