data: {
// 文件大小
size: this.wul_size,
// 文件唯一标记
fileMd5: this.wul_fileMd5,
// 切片大小
chunkSize: this.chunkSize,
// 签名
sign: sign,
// 应用分配id
appId: this.appId,
// 当前时间戳
timestamp: timestamp
},
dataType: "json",
// 上传失败
error: function (XMLHttpRequest, textStatus, errorThrown) {
this.$message({
message: "上传失败...",
type: 'error'
});
this.uploadLoading = false;
this.stopBtn = true;
}.bind(this),
success: function (response) {
if (response.responseCode == 0) { // 切片获取成功
this.wul_chunk = response.chunk;
deferred.resolve();
} else { // 切片获取失败,请求成功
this.wul_uploader.cancelFile(file); //取消文件上传
this.$message({
message: "切片检查失败,请联系管理员",
type: 'error'
});
deferred.resolve();
this.uploadLoading = false;
this.stopBtn = true;
}
}.bind(this)
});
return deferred.promise();
}.bind(this));
return deferred.promise();
}.bind(this),
beforeSend: function (block) {
var deferred = WebUploader.Deferred();
if (block.chunk < this.wul_chunk) {
return deferred.reject();
}
this.wul_uploader.md5File(block.blob).then(function (chunkMd5) {
var timestamp = Date.parse(new Date()) / 1000;
var signParam = '{chunk=' + block.chunk + ', chunkMd5=' + chunkMd5 + ', chunkSize=' + this.chunkSize + ', fileMd5=' + this.wul_fileMd5 + ', size=' + this.wul_size + ', timestamp=' + timestamp + '}';
var signTemp = CryptoJS.HmacSHA1(signParam, this.securityKey);
var sign = Base64.encode(signTemp); //获取sign值
this.wul_uploader.options.formData = {
'timestamp': timestamp,
'appId': this.appId,
'chunk': block.chunk,
'chunkSize': this.chunkSize,
'fileMd5': this.wul_fileMd5,
'chunkMd5': chunkMd5,
'size': this.wul_size,
'sign': sign
};
deferred.resolve();
}.bind(this))
return deferred.promise();
}.bind(this),
afterSendFile: function (file) {
var timestamp = Date.parse(new Date()) / 1000;
var signParam = "{chunkSize=" + this.chunkSize + ", fileMd5=" + this.wul_fileMd5 + ", fileName=" + file.name + ", size=" + this.wul_size + ", timestamp=" + timestamp + "}";
var sign = Base64.encode(CryptoJS.HmacSHA1(signParam, this.securityKey));
// 如果分块上传成功,则通知后台合并分块










