打开迅雷,鼠标右键点击正在下载的任务。
选择暂停任务。
暂停任务以后,选择打开文件夹。
选择相应的下载文件,点击重命名。
输入要改的名字,比如改为数字1。
同样的方法,将另外一个文件也改为同样的名字。
封装一个通用的方法 在需要使用的页面引入/**
* 通过url下载文件并对下载的文件更名
* @param {*} url
* @param {*} filename
*/
export const downloadFile = (url, filename) =>{
function getBlob (url) {
return new Promise(resolve =>{
const XML = new XMLHttpRequest()
XML.open('GET', url, true)
XML.responseType = 'blob'
XML.onload = () =>{
if (XML.status === 200) {
resolve(XML.response)
}
}
XML.send()
})
}
//下载文件
function saveAs (blob, filename) {
const elelink = document.createElement("a")
elelink.style.display = 'none'
elelink.download = filename
elelink.href = window.URL.createObjectURL(blob)
document.body.appendChild(elelink)
elelink.click()
document.body.removeChild(elelink)
}
// 调用以上方法进行下载
getBlob(url).then(blob =>{
saveAs(blob, filename)
})
}
页面使用方法 filename可以按需自由拼接
引入方法
import {downloadFile} from "../../utils/regular.js"
在click方法里面调用
downloadFile(url,filename)
文章
你用struts下载文件,肯定返回的result是stream类型,里面有个参数,在result里面配置。如下:
<param name="contentDisposition">attachmentfilename=${filename}</param>
这里面filename就是下载的文件名,在action中你要给出这么一个方法
public String getFilename(){
return 这里写上你想要返回的文件名
}
这样一来,在用户下载时,默认的文件名,就是你get方法返回的字符串,具体要返回什么,那就是你说了算了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)