Commit f7edba80 authored by 以墨为白's avatar 以墨为白 🎧

文件上传调整

parent 93f6e219
......@@ -3600,6 +3600,11 @@
}
}
},
"crypto-js": {
"version": "4.2.0",
"resolved": "https://registry.npmmirror.com/crypto-js/-/crypto-js-4.2.0.tgz",
"integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q=="
},
"css-color-function": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/css-color-function/-/css-color-function-1.3.3.tgz",
......@@ -7181,7 +7186,7 @@
"source-map": "^0.6.0"
}
},
"spdx-correct": {
"spdx-correct": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
"integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
......
......@@ -7,7 +7,8 @@ import ElementUI from 'element-ui'
import './element-variables.scss'
import "echarts-wordcloud/dist/echarts-wordcloud";
import "echarts-wordcloud/dist/echarts-wordcloud.min";
import fileMd5Sum from './util/file_md5.js';
Vue.prototype.fileMd5Sum = fileMd5Sum;
Vue.use(ElementUI)
new Vue({
router,
......
import CryptoJs from 'crypto-js' //引用AES源码js
export default {
// md5值计算
fileMd5Sum(file) {
let CryptoJS = require("crypto-js");
return new Promise((resolve, reject) => {
const fileReader = new FileReader();
fileReader.onloadend = ev => {
resolve({
md5: CryptoJS.MD5(CryptoJS.enc.Latin1.parse(ev.target.result)).toString(CryptoJS.enc.Hex),
file: file
}
);
};
fileReader.onerror = () => {
reject({ message: "文件解析失败" });
}
fileReader.readAsBinaryString(file);
});
}
}
......@@ -140,32 +140,35 @@ let fileUpload = (url, formData, headers = {}) => {
})
};
let fileUploadProgress = (url, formData, progressFunction, uploadComplete, uploadFailed) => {
let token = sessionStorage.getItem("token");
let xhr = new XMLHttpRequest(); // XMLHttpRequest 对象
xhr.open("PUT", url, true); //post方式,url为服务器请求地址,true 该参数规定请求是否异步处理。
xhr.onload = (e) => {
var info = xhr.responseText;
let result = JSON.parse(info);
if (result.code == 9000) {
uploadComplete(result.data);
} else {
uploadFailed(result);
}
}; //请求完成
xhr.onerror = (evt) => {
uploadFailed({ message: "错误" });
} //请求失败
xhr.upload.onprogress = (evt) => {
if (evt.lengthComputable) {//
progressFunction(Math.round(evt.loaded / evt.total * 100) + "%");
}
}//【上传进度调用方法实现】
xhr.upload.onloadstart = function () {//上传开始执行方法
console.log("started");
};
xhr.setRequestHeader(ACCESS_TOKEN, token);
xhr.send(formData); //开始上传,发送form数据
let fileUploadProgress = (url, formData, progressFunction) => {
return new Promise((resolve, reject) => {
let token = sessionStorage.getItem("token");
let xhr = new XMLHttpRequest(); // XMLHttpRequest 对象
xhr.open("POST", url, true); //post方式,url为服务器请求地址,true 该参数规定请求是否异步处理。
xhr.onload = (e) => {
var info = xhr.responseText;
let result = JSON.parse(info);
if (result.code == 9000) {
resolve(result.data);
} else {
reject(result);
}
}; //请求完成
xhr.onerror = (evt) => {
reject({ message: "错误" });
} //请求失败
xhr.upload.onprogress = (evt) => {
if (evt.lengthComputable) {//
progressFunction(Math.round(evt.loaded / evt.total * 100) + "%");
}
}//【上传进度调用方法实现】
xhr.upload.onloadstart = function () {//上传开始执行方法
console.log("started");
};
xhr.setRequestHeader(ACCESS_TOKEN, token);
xhr.send(formData); //开始上传,发送form数据
});
};
//下载文件 type传文件类型 例如:doc,xls...
......
......@@ -736,7 +736,6 @@ export default {
message: "请选择文档列表子节点",
});
} else {
let fd = new FormData();
let file_ext = this.form_add.fileList[0].name.substring(
lastIndexOf(this.form_add.fileList[0].name, ".") + 1,
this.form_add.fileList[0].name.length
......@@ -755,30 +754,38 @@ export default {
keyword: this.form_add.gjc.trim(),
module: this.module_name
};
fd.append("info", JSON.stringify(fileInfo));
fd.append("folder", this.type_folder);
fd.append("file", this.form_add.fileList[0].raw);
let load = startLoadingProgress("0%");
let self = this;
this.centerDialogVisible_add = false;
this.loadingText = "0%";
fileUploadProgress("api/rest/3z/document/upload", fd, res => {
if(res != "100%"){
load.text = "上传中:" + res;
} else {
let fd = new FormData();
load.text = "解析中";
this.fileMd5Sum.fileMd5Sum(this.form_add.fileList[0].raw)//获取md5
.then(result => {
fd.append("file", result.file);
fd.append("filename", result.md5);
fd.append("bucket", "MERGE");
return fileUploadProgress("api/rest/file/upload", fd, res => {//文件上传
load.text = "上传中:" + res;
});
})
.then(res => {
let fd1 = new FormData();
fd1.append("info", JSON.stringify(fileInfo));
fd1.append("md5", res);
fd1.append("destFilename", fileInfo.file.uuid);
load.text = "完成中";
}
},
res => {
return fileUpload_PUT("api/rest/3z/document/upload", fd1);//文件信息上传
}).then(res => {
endLoading();
console.log("loaded");
self.handleCurrentChange_lb(1);
},
err => {
}).catch(err => {
endLoading();
console.log("error");
this.$message.warning(err.message);
this.$message.warning(err.message);
});
}
}
......
......@@ -22,7 +22,7 @@
<script type="text/javascript">
var myPlayer = videojs('my-video', {
sources: [{
src: "http://localhost:8080/req.mp4",
src: "http://192.168.168.213:8081/rest/file/playVideo/Document?objectName=wu_1hglhdmhs5u313gdtm816b8166eb2.mp4",
autoplay: true,
playbackRates: [0.5, 1, 1.5, 2] //倍速播放
}]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment