|
|
|
@ -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'}}).then((response) => {
|
|
|
|
|
axios.get((url),{responseType: 'blob'}).then((response) => {
|
|
|
|
|
console.log("1350");
|
|
|
|
|
console.log(response);
|
|
|
|
|
if(response.data.status&&response.data.status===-1){
|
|
|
|
@ -1355,50 +1355,25 @@ class Listofworks extends Component {
|
|
|
|
|
}else if(response.data.status&&response.data.status===-2){
|
|
|
|
|
|
|
|
|
|
}else{
|
|
|
|
|
window.location.href("/api"+url);
|
|
|
|
|
// response.blob().then(blob => {
|
|
|
|
|
// //关闭loading 按钮恢复正常
|
|
|
|
|
// let blobUrl = window.URL.createObjectURL(blob);
|
|
|
|
|
// const filename = times.formatNowDate() + '.zip';
|
|
|
|
|
// const aElement = document.createElement('a');
|
|
|
|
|
// document.body.appendChild(aElement);
|
|
|
|
|
// aElement.style.display = 'none';
|
|
|
|
|
// aElement.href = blobUrl;
|
|
|
|
|
// aElement.download = filename;
|
|
|
|
|
// aElement.click();
|
|
|
|
|
// document.body.removeChild(aElement);
|
|
|
|
|
// });
|
|
|
|
|
|
|
|
|
|
// window.location.href("/api"+url);
|
|
|
|
|
console.log("开始下载zip文件")
|
|
|
|
|
const type='application/zip'//ZIP文件
|
|
|
|
|
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])
|
|
|
|
|
downloadElement.href = href
|
|
|
|
|
downloadElement.download = name
|
|
|
|
|
document.body.appendChild(downloadElement)
|
|
|
|
|
downloadElement.click()
|
|
|
|
|
document.body.removeChild(downloadElement) // 下载完成移除元素
|
|
|
|
|
window.URL.revokeObjectURL(href) // 释放掉blob对象
|
|
|
|
|
}
|
|
|
|
|
}).catch((error) => {
|
|
|
|
|
console.log(error)
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
//字节装为字符串
|
|
|
|
|
utf8ByteArrayToString(bytes) {
|
|
|
|
|
var out = [], pos =0, c =0;
|
|
|
|
|
while (pos < bytes.length) {
|
|
|
|
|
var c1 = bytes[pos++];
|
|
|
|
|
if (c1 <128) {
|
|
|
|
|
out[c++] = String.fromCharCode(c1);
|
|
|
|
|
}else if (c1 >191 && c1 <224) {
|
|
|
|
|
var c2 = bytes[pos++];
|
|
|
|
|
out[c++] = String.fromCharCode((c1 &31) <<6 | c2 &63);
|
|
|
|
|
}else if (c1 >239 && c1 <365) {
|
|
|
|
|
var c2 = bytes[pos++];
|
|
|
|
|
var c3 = bytes[pos++];
|
|
|
|
|
var c4 = bytes[pos++];
|
|
|
|
|
var u = ((c1 &7) <<18 | (c2 &63) <<12 | (c3 &63) <<6 | c4 &63) -0x10000;
|
|
|
|
|
out[c++] = String.fromCharCode(0xD800 + (u >>10));
|
|
|
|
|
out[c++] = String.fromCharCode(0xDC00 + (u &1023));
|
|
|
|
|
}else {
|
|
|
|
|
var c2 = bytes[pos++];
|
|
|
|
|
var c3 = bytes[pos++];
|
|
|
|
|
out[c++] =String.fromCharCode((c1 &15) <<12 | (c2 &63) <<6 | c3 &63);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return out.join('');
|
|
|
|
|
}
|
|
|
|
|
// 课堂学生成绩的导出下载
|
|
|
|
|
Classstudentachievement=(url)=>{
|
|
|
|
|
console.log("Classstudentachievement");
|
|
|
|
@ -1410,7 +1385,7 @@ class Listofworks extends Component {
|
|
|
|
|
// search: this.state.searchtext,
|
|
|
|
|
// }
|
|
|
|
|
// },{responseType: 'blob'})
|
|
|
|
|
axios.get((url),{headers:{'filename':'utf-8'}}).then((response) => {
|
|
|
|
|
axios.get((url),{responseType: 'blob'}).then((response) => {
|
|
|
|
|
console.log("1374");
|
|
|
|
|
console.log(response);
|
|
|
|
|
if(response.data.status&&response.data.status===-1){
|
|
|
|
@ -1419,9 +1394,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) => {
|
|
|
|
|