這篇文章主要介紹了js下載文件并修改文件名的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
用js下載文件,使用<a>標簽,添加download屬性即可。
var a = document.createElement("a");
a.href = "http://XXX.com/audioStream/8a9dbae9d0859e48fc1f590fcf6d4ccc.mp3";
a.download ="test.mp3";
a.click();但是如果想給文件重新命名,貌似js無法實現。
因此考慮后臺實現,用java代理請求,獲取文件設置文件名,返回到前端。
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();
}
}感謝你能夠認真閱讀完這篇文章,希望小編分享的“js下載文件并修改文件名的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。