diff --git a/public/react/src/modules/courses/shixunHomework/Listofworks.js b/public/react/src/modules/courses/shixunHomework/Listofworks.js index e58d2bb0e..ada6254bc 100644 --- a/public/react/src/modules/courses/shixunHomework/Listofworks.js +++ b/public/react/src/modules/courses/shixunHomework/Listofworks.js @@ -1346,7 +1346,7 @@ class Listofworks extends Component { // } // let url = "/zip/shixun_report"; // let homeworkid = this.props.match.params.homeworkid; - axios.get((url),{headers:{'filename':'utf-8'},responseType: 'blob',}).then((response) => { + axios.get((url),{headers:{'filename':'utf-8'},responseType: 'blob'}).then((response) => { console.log("1350"); console.log(response); if(response.data.status&&response.data.status===-1){ @@ -1410,7 +1410,7 @@ class Listofworks extends Component { // search: this.state.searchtext, // } // },{responseType: 'blob'}) - axios.get((url),{headers:{'filename':'utf-8'}}).then((response) => { + axios.get((url),{headers:{'filename':'utf-8'},responseType: 'blob'}).then((response) => { console.log("1374"); console.log(response); if(response.data.status&&response.data.status===-1){ @@ -1419,9 +1419,20 @@ class Listofworks extends Component { }else if(response.data.status&&response.data.status===-2){ }else{ - window.location.href("/api"+url); - - // window.open("/api"+url, '_blank'); + const type='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' //excel文件 + const blob = new Blob([response.data], { type: type }) + const downloadElement = document.createElement('a') + const href = window.URL.createObjectURL(blob) + //后台再header中传文件名 + const name = decodeURI(response.headers['content-disposition'].split('=')[1]) + console.log(response.headers['content-disposition'].split('=')[1]); + console.log(name); + downloadElement.href = href + downloadElement.download = name + document.body.appendChild(downloadElement) + downloadElement.click() + document.body.removeChild(downloadElement) // 下载完成移除元素 + window.URL.revokeObjectURL(href) // 释放掉blob对象 } }).catch((error) => {