上传应答文件更改
This commit is contained in:
31
src/components/Upload/react-resumable.js
vendored
31
src/components/Upload/react-resumable.js
vendored
@ -23,7 +23,7 @@ function isIE() {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
* 大文件上传组件
|
||||
*/
|
||||
export default class ReactResumableJs extends React.Component {
|
||||
@ -129,7 +129,7 @@ export default class ReactResumableJs extends React.Component {
|
||||
</div>
|
||||
<div style={{ display: this.state.isSupported ? '' : 'none' }}>
|
||||
{
|
||||
isIE() ?
|
||||
isIE() ?
|
||||
<div className="redCenter">推荐使用谷歌、火狐、360浏览器的极速模式下上传文件</div> : null
|
||||
}
|
||||
<div className="resumable-drop">
|
||||
@ -184,7 +184,7 @@ export default class ReactResumableJs extends React.Component {
|
||||
|
||||
/**
|
||||
* 格式化计时器
|
||||
* @param {*} value
|
||||
* @param {*} value
|
||||
*/
|
||||
__format(value) {
|
||||
if (value < 10) {
|
||||
@ -221,14 +221,17 @@ export default class ReactResumableJs extends React.Component {
|
||||
|
||||
/**
|
||||
* 添加文件时的监听
|
||||
*
|
||||
* @param {*} file
|
||||
*
|
||||
* @param {*} file
|
||||
*/
|
||||
__fileAddedListener(resumable) {
|
||||
// 更新文件队列表单
|
||||
let strIndex = resumable.fileName.lastIndexOf(".")
|
||||
let fileSuffix = resumable.fileName.substring(strIndex + 1, resumable.fileName.length)
|
||||
if (this.props.fileAccept == ('.' + fileSuffix)) {
|
||||
const allowedTypes = this.props.fileAccept.split(',').map(type => type.trim().toLowerCase());
|
||||
// 判断文件后缀
|
||||
// if (this.props.fileAccept == ('.' + fileSuffix)) {
|
||||
if (allowedTypes.includes('.' + fileSuffix)) {
|
||||
let _cache = this.state.fileList;
|
||||
_cache.length = 0;
|
||||
_cache.push({
|
||||
@ -261,7 +264,7 @@ export default class ReactResumableJs extends React.Component {
|
||||
getTendererFileStatus(data).then((res) => { // 判断是否已投标
|
||||
if (res.code == 200) {
|
||||
if(res.data == false){
|
||||
|
||||
|
||||
var fileReader = new FileReader();
|
||||
if (fileReader.readAsBinaryString === undefined) {
|
||||
FileReader.prototype.readAsBinaryString = function (fileData) { //解决ie11 大文件堆栈溢出的问题(for arrayBufferToString)
|
||||
@ -279,7 +282,7 @@ export default class ReactResumableJs extends React.Component {
|
||||
}
|
||||
reader.readAsArrayBuffer(fileData);
|
||||
}
|
||||
}
|
||||
}
|
||||
fileReader.readAsBinaryString(resumable.file);
|
||||
fileReader.onload = e => {
|
||||
resumable.uniqueIdentifier = SparkMD5.hashBinary(e.target.result);
|
||||
@ -324,7 +327,7 @@ export default class ReactResumableJs extends React.Component {
|
||||
|
||||
/**
|
||||
* 文件上传进度播报
|
||||
* @param {*} file
|
||||
* @param {*} file
|
||||
*/
|
||||
__fileProgressListener(file) {
|
||||
// 更新文件队列表单
|
||||
@ -341,7 +344,7 @@ export default class ReactResumableJs extends React.Component {
|
||||
|
||||
/**
|
||||
* 文件上传完成
|
||||
* @param {*} file
|
||||
* @param {*} file
|
||||
*/
|
||||
__fileSuccessListener(file) {
|
||||
let _cache = this.state.fileList;
|
||||
@ -381,7 +384,7 @@ export default class ReactResumableJs extends React.Component {
|
||||
|
||||
/**
|
||||
* 文件上传失败
|
||||
* @param {*} file
|
||||
* @param {*} file
|
||||
*/
|
||||
__fileErrorListener(file) {
|
||||
// 更新文件队列表单
|
||||
@ -401,7 +404,7 @@ export default class ReactResumableJs extends React.Component {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
* 移除上传列表中的文件
|
||||
*/
|
||||
__removeFile(filename) {
|
||||
@ -444,7 +447,7 @@ export default class ReactResumableJs extends React.Component {
|
||||
this.setState({ fileList: _cache, timer: 0 });
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
* 暂停上传
|
||||
*/
|
||||
__uploadPause(filename) {
|
||||
@ -468,7 +471,7 @@ export default class ReactResumableJs extends React.Component {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
* 恢复上传
|
||||
*/
|
||||
__uploadResum(filename) {
|
||||
|
@ -273,7 +273,8 @@ const Index: React.FC<{}> = () => {
|
||||
if (index == 'single') {
|
||||
currentDate = val
|
||||
setEndTime(new Date(val.endDate).getTime())
|
||||
filetype = '.file'
|
||||
// filetype = '.file'
|
||||
filetype = '.rar,.zip,.doc,.docx,.xls,.xlsx,.pdf'
|
||||
object = JSON.stringify(val)
|
||||
path = '/' + val.createYear + '/' + val.tpId + '/' + val.sectionId + '/' + val.tdocId + '/uploadFile/' + val.tendererId
|
||||
} else {
|
||||
@ -312,10 +313,10 @@ const Index: React.FC<{}> = () => {
|
||||
|
||||
/**
|
||||
* 大文件上传完成后的组件返回
|
||||
*
|
||||
* @param file
|
||||
* @param resumable
|
||||
* @param callback
|
||||
*
|
||||
* @param file
|
||||
* @param resumable
|
||||
* @param callback
|
||||
*/
|
||||
const onUploadSuccess = (file: any, cache: any, callback: any) => {
|
||||
cache.push({
|
||||
@ -346,34 +347,42 @@ const Index: React.FC<{}> = () => {
|
||||
clearInterval(task);
|
||||
} else {
|
||||
if (switchBtn) {
|
||||
getDecrypt(uuid).then((res) => {
|
||||
if (res.code == 200) {
|
||||
if (res.data.consumptionState == '2' || res.data.consumptionState == '4') {
|
||||
if (res.data.stateMessage) {
|
||||
message.error(res.data.stateMessage)
|
||||
callback(cache.length - 1, res.data.stateMessage, 2);
|
||||
} else {
|
||||
message.error('验证错误,请刷新页面后重新上传!')
|
||||
callback(cache.length - 1, "文件验证失败", 2);
|
||||
}
|
||||
switchBtn = false;
|
||||
clearInterval(task);
|
||||
return;
|
||||
} else if (res.data.consumptionState == '3') {
|
||||
message.success(res.data.stateMessage)
|
||||
setTimeout(() => {
|
||||
message.destroy()
|
||||
}, 3000)
|
||||
test = 100;
|
||||
callback(cache.length - 1, "文件验证成功", test);
|
||||
switchBtn = false;
|
||||
clearInterval(task);
|
||||
return;
|
||||
} else {
|
||||
callback(cache.length - 1, "文件验证中", test);
|
||||
}
|
||||
}
|
||||
})
|
||||
setTimeout(() => {
|
||||
message.destroy()
|
||||
}, 3000)
|
||||
test = 100;
|
||||
callback(cache.length - 1, "文件验证成功", test);
|
||||
switchBtn = false;
|
||||
clearInterval(task);
|
||||
return;
|
||||
// getDecrypt(uuid).then((res) => {
|
||||
// if (res.code == 200) {
|
||||
// if (res.data.consumptionState == '2' || res.data.consumptionState == '4') {
|
||||
// if (res.data.stateMessage) {
|
||||
// message.error(res.data.stateMessage)
|
||||
// callback(cache.length - 1, res.data.stateMessage, 2);
|
||||
// } else {
|
||||
// message.error('验证错误,请刷新页面后重新上传!')
|
||||
// callback(cache.length - 1, "文件验证失败", 2);
|
||||
// }
|
||||
// switchBtn = false;
|
||||
// clearInterval(task);
|
||||
// return;
|
||||
// } else if (res.data.consumptionState == '3') {
|
||||
// message.success(res.data.stateMessage)
|
||||
// setTimeout(() => {
|
||||
// message.destroy()
|
||||
// }, 3000)
|
||||
// test = 100;
|
||||
// callback(cache.length - 1, "文件验证成功", test);
|
||||
// switchBtn = false;
|
||||
// clearInterval(task);
|
||||
// return;
|
||||
// } else {
|
||||
// callback(cache.length - 1, "文件验证中", test);
|
||||
// }
|
||||
// }
|
||||
// })
|
||||
}
|
||||
}
|
||||
}, 3000);
|
||||
@ -416,7 +425,10 @@ const Index: React.FC<{}> = () => {
|
||||
} else {
|
||||
let strIndex = resumable.fileName.lastIndexOf(".")
|
||||
let fileSuffix = resumable.fileName.substring(strIndex + 1, resumable.fileName.length)
|
||||
if (('.' + fileSuffix) != fileT) {
|
||||
// 判断文件类型
|
||||
const fileTypes = fileT.split(',').map((type: string) => type.trim().toLowerCase());
|
||||
// if (('.' + fileSuffix) != fileT) {
|
||||
if (!fileTypes.includes('.' + fileSuffix)) {
|
||||
message.error('请上传' + fileT + '类型的文件')
|
||||
} else if (fileSuffix == 'file' && resumable.file.size > 200 * 1024 * 1024) {
|
||||
message.error('文件最大为200MB')
|
||||
|
Reference in New Issue
Block a user