easy3wui 1.5.9 → 1.5.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/assets/formPage.css
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
.ant-upload-list-item {
|
|
2
|
-
width:
|
|
3
|
-
width: max-content;
|
|
2
|
+
width: auto;
|
|
4
3
|
}
|
|
5
4
|
.ant-upload-list-item .ant-upload-list-item-info {
|
|
6
|
-
width:
|
|
7
|
-
width: max-content;
|
|
5
|
+
width: auto;
|
|
8
6
|
}
|
|
9
7
|
.ant-upload-list-item .anticon-cross {
|
|
10
8
|
right: -2px;
|
package/assets/index.css
CHANGED
|
@@ -1380,12 +1380,10 @@ s {
|
|
|
1380
1380
|
cursor: pointer;
|
|
1381
1381
|
}
|
|
1382
1382
|
.ant-upload-list-item {
|
|
1383
|
-
width:
|
|
1384
|
-
width: max-content;
|
|
1383
|
+
width: auto;
|
|
1385
1384
|
}
|
|
1386
1385
|
.ant-upload-list-item .ant-upload-list-item-info {
|
|
1387
|
-
width:
|
|
1388
|
-
width: max-content;
|
|
1386
|
+
width: auto;
|
|
1389
1387
|
}
|
|
1390
1388
|
.ant-upload-list-item .anticon-cross {
|
|
1391
1389
|
right: -2px;
|
|
@@ -469,7 +469,7 @@ var Easy3wFormPage = function (_Component) {
|
|
|
469
469
|
}
|
|
470
470
|
}
|
|
471
471
|
if (fieldType === 'input' || fieldType === 'textarea') {
|
|
472
|
-
var maxLength = fieldType === 'textarea' ?
|
|
472
|
+
var maxLength = fieldType === 'textarea' ? 1000 : 50;
|
|
473
473
|
if (cmptPros) {
|
|
474
474
|
if (cmptPros.maxLength) {
|
|
475
475
|
maxLength = cmptPros.maxLength;
|
|
@@ -61,7 +61,7 @@ var Easy3wGridTextArea = function (_Component) {
|
|
|
61
61
|
maxLength = _ref.maxLength,
|
|
62
62
|
disabled = _ref.disabled;
|
|
63
63
|
|
|
64
|
-
var rules = [{ required: required, message: requiredMessage || '\u8BF7\u586B\u5199' + label }, { max: maxLength ||
|
|
64
|
+
var rules = [{ required: required, message: requiredMessage || '\u8BF7\u586B\u5199' + label }, { max: maxLength || 1000, message: '\u5F55\u5165\u6587\u5B57\u957F\u5EA6\u4E0D\u80FD\u8D85\u8FC7' + (maxLength || 1000) }];
|
|
65
65
|
if (disabled) {
|
|
66
66
|
rules.pop();
|
|
67
67
|
}
|
|
@@ -0,0 +1,1011 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
|
|
5
|
+
var _extends2 = require('babel-runtime/helpers/extends');
|
|
6
|
+
|
|
7
|
+
var _extends3 = _interopRequireDefault(_extends2);
|
|
8
|
+
|
|
9
|
+
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
|
|
10
|
+
|
|
11
|
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
|
12
|
+
|
|
13
|
+
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
|
|
14
|
+
|
|
15
|
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
|
16
|
+
|
|
17
|
+
var _inherits2 = require('babel-runtime/helpers/inherits');
|
|
18
|
+
|
|
19
|
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
|
20
|
+
|
|
21
|
+
var _react = require('react');
|
|
22
|
+
|
|
23
|
+
var _react2 = _interopRequireDefault(_react);
|
|
24
|
+
|
|
25
|
+
var _propTypes = require('prop-types');
|
|
26
|
+
|
|
27
|
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
|
28
|
+
|
|
29
|
+
var _form = require('antd/lib/form');
|
|
30
|
+
|
|
31
|
+
var _form2 = _interopRequireDefault(_form);
|
|
32
|
+
|
|
33
|
+
require('antd/lib/form/style');
|
|
34
|
+
|
|
35
|
+
var _upload = require('antd/lib/upload');
|
|
36
|
+
|
|
37
|
+
var _upload2 = _interopRequireDefault(_upload);
|
|
38
|
+
|
|
39
|
+
require('antd/lib/upload/style');
|
|
40
|
+
|
|
41
|
+
var _icon = require('antd/lib/icon');
|
|
42
|
+
|
|
43
|
+
var _icon2 = _interopRequireDefault(_icon);
|
|
44
|
+
|
|
45
|
+
require('antd/lib/icon/style');
|
|
46
|
+
|
|
47
|
+
var _button = require('antd/lib/button');
|
|
48
|
+
|
|
49
|
+
var _button2 = _interopRequireDefault(_button);
|
|
50
|
+
|
|
51
|
+
require('antd/lib/button/style');
|
|
52
|
+
|
|
53
|
+
var _progress = require('antd/lib/progress');
|
|
54
|
+
|
|
55
|
+
var _progress2 = _interopRequireDefault(_progress);
|
|
56
|
+
|
|
57
|
+
require('antd/lib/progress/style');
|
|
58
|
+
|
|
59
|
+
var _popover = require('antd/lib/popover');
|
|
60
|
+
|
|
61
|
+
var _popover2 = _interopRequireDefault(_popover);
|
|
62
|
+
|
|
63
|
+
require('antd/lib/popover/style');
|
|
64
|
+
|
|
65
|
+
var _superagent = require('superagent');
|
|
66
|
+
|
|
67
|
+
var _superagent2 = _interopRequireDefault(_superagent);
|
|
68
|
+
|
|
69
|
+
var _sparkMd = require('spark-md5');
|
|
70
|
+
|
|
71
|
+
var _sparkMd2 = _interopRequireDefault(_sparkMd);
|
|
72
|
+
|
|
73
|
+
var _modal = require('antd/lib/modal');
|
|
74
|
+
|
|
75
|
+
var _modal2 = _interopRequireDefault(_modal);
|
|
76
|
+
|
|
77
|
+
require('antd/lib/modal/style');
|
|
78
|
+
|
|
79
|
+
var _comonConfig = require('comonConfigPath/comonConfig');
|
|
80
|
+
|
|
81
|
+
var _Easy3wGetCookie = require('./../Easy3wGetCookie');
|
|
82
|
+
|
|
83
|
+
var _Easy3wGetCookie2 = _interopRequireDefault(_Easy3wGetCookie);
|
|
84
|
+
|
|
85
|
+
var _Easy3wDownLoad = require('./../Easy3wDownLoad');
|
|
86
|
+
|
|
87
|
+
var _Easy3wDownLoad2 = _interopRequireDefault(_Easy3wDownLoad);
|
|
88
|
+
|
|
89
|
+
var _Easy3wAESEncrypt = require('./../Easy3wAESEncrypt');
|
|
90
|
+
|
|
91
|
+
var _Easy3wAESEncrypt2 = _interopRequireDefault(_Easy3wAESEncrypt);
|
|
92
|
+
|
|
93
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
|
94
|
+
|
|
95
|
+
var formItemStyle = {
|
|
96
|
+
marginBottom: 6
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
var BigFileUpload = function (_Component) {
|
|
100
|
+
(0, _inherits3['default'])(BigFileUpload, _Component);
|
|
101
|
+
|
|
102
|
+
function BigFileUpload(props) {
|
|
103
|
+
(0, _classCallCheck3['default'])(this, BigFileUpload);
|
|
104
|
+
|
|
105
|
+
var _this = (0, _possibleConstructorReturn3['default'])(this, _Component.call(this, props));
|
|
106
|
+
|
|
107
|
+
_initialiseProps.call(_this);
|
|
108
|
+
|
|
109
|
+
var initialValue = _this.props.initialValue;
|
|
110
|
+
|
|
111
|
+
_this.state = {
|
|
112
|
+
preUploading: false, // 文件预处理中
|
|
113
|
+
uploadPercent: -1, // 上传率
|
|
114
|
+
preUploadPercent: -1, // 预处理率
|
|
115
|
+
uploadRequest: false, // 上传校验
|
|
116
|
+
uploading: false, // 文件上传中状态
|
|
117
|
+
cancelStatus: false, // 取消状态
|
|
118
|
+
loading: false, // 上传是否可用
|
|
119
|
+
fileList: initialValue && initialValue.length > 0 ? _this.iniValDeal(initialValue) : [], // 上传附件信息
|
|
120
|
+
chunkProgressStatus: 'active',
|
|
121
|
+
currentFile: null, // 当前附件
|
|
122
|
+
uploadData: null, // 上传的数据
|
|
123
|
+
iniSetedFlag: false, // 是否初始化
|
|
124
|
+
CUSize: 0, // 当前上传附件大小
|
|
125
|
+
speed: 0 // 上传速率
|
|
126
|
+
};
|
|
127
|
+
return _this;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
BigFileUpload.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
|
|
131
|
+
var iniSetedFlag = this.state.iniSetedFlag;
|
|
132
|
+
|
|
133
|
+
if (!iniSetedFlag) {
|
|
134
|
+
var initialValue = nextProps.initialValue;
|
|
135
|
+
var fileList = this.state.fileList;
|
|
136
|
+
|
|
137
|
+
if (fileList && fileList.length > 0) {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
if (initialValue && initialValue.length > 0) {
|
|
141
|
+
var iniVal = this.iniValDeal(initialValue);
|
|
142
|
+
this.setState((0, _extends3['default'])({}, this.state, {
|
|
143
|
+
iniSetedFlag: true,
|
|
144
|
+
fileList: iniVal
|
|
145
|
+
}));
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
BigFileUpload.prototype.render = function render() {
|
|
151
|
+
var _this2 = this;
|
|
152
|
+
|
|
153
|
+
var _props = this.props,
|
|
154
|
+
name = _props.name,
|
|
155
|
+
listType = _props.listType,
|
|
156
|
+
accept = _props.accept,
|
|
157
|
+
required = _props.required,
|
|
158
|
+
help = _props.help,
|
|
159
|
+
buttonName = _props.buttonName,
|
|
160
|
+
form = _props.form,
|
|
161
|
+
isRead = _props.isRead,
|
|
162
|
+
label = _props.label,
|
|
163
|
+
className = _props.className,
|
|
164
|
+
labelCol = _props.labelCol,
|
|
165
|
+
wrapperCol = _props.wrapperCol,
|
|
166
|
+
showUploadList = _props.showUploadList,
|
|
167
|
+
urlDownloadFile = _props.urlDownloadFile,
|
|
168
|
+
initialValue = _props.initialValue;
|
|
169
|
+
var _state = this.state,
|
|
170
|
+
preUploading = _state.preUploading,
|
|
171
|
+
uploadPercent = _state.uploadPercent,
|
|
172
|
+
preUploadPercent = _state.preUploadPercent,
|
|
173
|
+
uploadRequest = _state.uploadRequest,
|
|
174
|
+
uploading = _state.uploading;
|
|
175
|
+
var getFieldDecorator = form.getFieldDecorator;
|
|
176
|
+
|
|
177
|
+
var uploadProp = {
|
|
178
|
+
// name,
|
|
179
|
+
listType: listType,
|
|
180
|
+
showUploadList: showUploadList,
|
|
181
|
+
accept: accept,
|
|
182
|
+
onRemove: function onRemove(file) {
|
|
183
|
+
var _state2 = _this2.state,
|
|
184
|
+
fileList = _state2.fileList,
|
|
185
|
+
currentFile = _state2.currentFile;
|
|
186
|
+
var iniSetedFlag = _this2.state.iniSetedFlag;
|
|
187
|
+
|
|
188
|
+
if (!iniSetedFlag) {
|
|
189
|
+
iniSetedFlag = true;
|
|
190
|
+
}
|
|
191
|
+
var index = fileList.indexOf(file);
|
|
192
|
+
if (index >= 0) {
|
|
193
|
+
fileList.splice(index, 1);
|
|
194
|
+
}
|
|
195
|
+
if (fileList.length === 0) {
|
|
196
|
+
_this2.setState((0, _extends3['default'])({}, _this2.state, {
|
|
197
|
+
cancelStatus: true,
|
|
198
|
+
loading: false,
|
|
199
|
+
fileList: fileList,
|
|
200
|
+
iniSetedFlag: iniSetedFlag
|
|
201
|
+
}), function () {
|
|
202
|
+
_this2.setUploadValue(fileList);
|
|
203
|
+
});
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
206
|
+
if (currentFile && currentFile.uid) {
|
|
207
|
+
if (file.uid === currentFile.uid) {
|
|
208
|
+
_this2.setState((0, _extends3['default'])({}, _this2.state, {
|
|
209
|
+
cancelStatus: true,
|
|
210
|
+
loading: false,
|
|
211
|
+
fileList: fileList,
|
|
212
|
+
currentFile: null,
|
|
213
|
+
iniSetedFlag: iniSetedFlag
|
|
214
|
+
}), function () {
|
|
215
|
+
_this2.setUploadValue(fileList);
|
|
216
|
+
});
|
|
217
|
+
} else {
|
|
218
|
+
_this2.setState((0, _extends3['default'])({}, _this2.state, {
|
|
219
|
+
cancelStatus: false,
|
|
220
|
+
loading: true,
|
|
221
|
+
fileList: fileList,
|
|
222
|
+
iniSetedFlag: iniSetedFlag
|
|
223
|
+
}), function () {
|
|
224
|
+
_this2.setUploadValue(fileList);
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
} else {
|
|
228
|
+
_this2.setState((0, _extends3['default'])({}, _this2.state, {
|
|
229
|
+
cancelStatus: true,
|
|
230
|
+
loading: false,
|
|
231
|
+
fileList: fileList,
|
|
232
|
+
iniSetedFlag: iniSetedFlag
|
|
233
|
+
}), function () {
|
|
234
|
+
_this2.setUploadValue(fileList);
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
return true;
|
|
238
|
+
},
|
|
239
|
+
beforeUpload: function beforeUpload(file) {
|
|
240
|
+
var fileTypePass = true;
|
|
241
|
+
var fileNameArr = file.name.toLowerCase().split('.');
|
|
242
|
+
var fileType = fileNameArr[fileNameArr.length - 1];
|
|
243
|
+
if (file.name.length > 100) {
|
|
244
|
+
_modal2['default'].info({
|
|
245
|
+
style: { top: '38%' },
|
|
246
|
+
content: '文件名称至多100个字符',
|
|
247
|
+
okText: '知道了'
|
|
248
|
+
});
|
|
249
|
+
return false;
|
|
250
|
+
}
|
|
251
|
+
var acceptDefault = '.rplib,.xls,.doc,.jpg,.pdf,.png,.zip,.bmp,.rar,.txt,.docx,.ico,.bid,.xlsx,.jpeg,.json,.xml,.ebid,.dwg,.pptx,.xmind,.xps,.crx,.7z,.ppt,.svg,.pdm,.xlsm,.vsd,.gif,.tif,.docm,.csv,.ttf,.wps,.psd,.mp4,.tiff,.rtf,.tlb,.xlsb';
|
|
252
|
+
if (accept && accept.length > 0) {
|
|
253
|
+
acceptDefault = accept;
|
|
254
|
+
}
|
|
255
|
+
if (acceptDefault.indexOf(fileType) < 0) {
|
|
256
|
+
fileTypePass = false;
|
|
257
|
+
}
|
|
258
|
+
if (!fileTypePass) {
|
|
259
|
+
_modal2['default'].error({
|
|
260
|
+
style: { top: '38%' },
|
|
261
|
+
content: '\u4E0D\u652F\u6301' + fileType + '\u7C7B\u578B\u7684\u6587\u4EF6!'
|
|
262
|
+
});
|
|
263
|
+
return false;
|
|
264
|
+
}
|
|
265
|
+
if (file.size === 0) {
|
|
266
|
+
_modal2['default'].error({
|
|
267
|
+
style: { top: '38%' },
|
|
268
|
+
content: '附件必须大于0MB!'
|
|
269
|
+
});
|
|
270
|
+
return false;
|
|
271
|
+
}
|
|
272
|
+
var multiple = _this2.props.multiple;
|
|
273
|
+
var _state3 = _this2.state,
|
|
274
|
+
fileList = _state3.fileList,
|
|
275
|
+
iniSetedFlag = _state3.iniSetedFlag;
|
|
276
|
+
|
|
277
|
+
if (!multiple) {
|
|
278
|
+
fileList = [file];
|
|
279
|
+
} else {
|
|
280
|
+
fileList.push(file);
|
|
281
|
+
}
|
|
282
|
+
if (!iniSetedFlag) {
|
|
283
|
+
iniSetedFlag = true;
|
|
284
|
+
}
|
|
285
|
+
// 首先清除一下各种上传的状态
|
|
286
|
+
_this2.setState((0, _extends3['default'])({}, _this2.state, {
|
|
287
|
+
fileList: fileList,
|
|
288
|
+
currentFile: file,
|
|
289
|
+
preUploading: true, // 预处理中
|
|
290
|
+
uploading: false, // 上传中
|
|
291
|
+
uploadRequest: false, // 上传预处理
|
|
292
|
+
uploadPercent: -1,
|
|
293
|
+
preUploadPercent: -1,
|
|
294
|
+
chunkProgressStatus: 'active',
|
|
295
|
+
cancelStatus: false, // 取消状态
|
|
296
|
+
CUSize: 0, // 当前附件上传大小
|
|
297
|
+
loading: true, // 禁用上传
|
|
298
|
+
iniSetedFlag: iniSetedFlag
|
|
299
|
+
}), function () {
|
|
300
|
+
setImmediate(_this2.readFile, file);
|
|
301
|
+
});
|
|
302
|
+
return false;
|
|
303
|
+
},
|
|
304
|
+
fileList: this.state.fileList
|
|
305
|
+
};
|
|
306
|
+
if (isRead) {
|
|
307
|
+
uploadProp = (0, _extends3['default'])({}, uploadProp, { showUploadList: { showPreviewIcon: true, showRemoveIcon: false } });
|
|
308
|
+
}
|
|
309
|
+
return isRead ? _react2['default'].createElement(
|
|
310
|
+
_form2['default'].Item,
|
|
311
|
+
{
|
|
312
|
+
label: label,
|
|
313
|
+
className: className,
|
|
314
|
+
labelCol: labelCol,
|
|
315
|
+
wrapperCol: wrapperCol,
|
|
316
|
+
style: formItemStyle
|
|
317
|
+
},
|
|
318
|
+
getFieldDecorator('' + name, {})(_react2['default'].createElement(_Easy3wDownLoad2['default'], {
|
|
319
|
+
pdfViewFlag: true,
|
|
320
|
+
imgVisible: true,
|
|
321
|
+
urlDownloadFile: urlDownloadFile,
|
|
322
|
+
downloadArr: initialValue
|
|
323
|
+
}))
|
|
324
|
+
) : _react2['default'].createElement(
|
|
325
|
+
_form2['default'].Item,
|
|
326
|
+
{
|
|
327
|
+
label: label,
|
|
328
|
+
className: className,
|
|
329
|
+
labelCol: labelCol,
|
|
330
|
+
wrapperCol: wrapperCol,
|
|
331
|
+
style: formItemStyle
|
|
332
|
+
},
|
|
333
|
+
_react2['default'].createElement(
|
|
334
|
+
'div',
|
|
335
|
+
null,
|
|
336
|
+
getFieldDecorator('' + name, {
|
|
337
|
+
initialValue: this.state.fileList,
|
|
338
|
+
rules: [{ validator: this.requiredFile }, { required: required, message: help }]
|
|
339
|
+
})(_react2['default'].createElement(
|
|
340
|
+
_upload2['default'],
|
|
341
|
+
(0, _extends3['default'])({}, uploadProp, {
|
|
342
|
+
disabled: this.state.loading
|
|
343
|
+
}),
|
|
344
|
+
isRead ? null : _react2['default'].createElement(
|
|
345
|
+
_popover2['default'],
|
|
346
|
+
{
|
|
347
|
+
placement: 'right',
|
|
348
|
+
content: _react2['default'].createElement(
|
|
349
|
+
'div',
|
|
350
|
+
{ style: { padding: '4px 0' } },
|
|
351
|
+
_react2['default'].createElement(
|
|
352
|
+
'span',
|
|
353
|
+
{ style: { color: '#5468b2', width: 200, height: 300 } },
|
|
354
|
+
help
|
|
355
|
+
)
|
|
356
|
+
),
|
|
357
|
+
arrowPointAtCenter: true,
|
|
358
|
+
style: { width: 200, height: 'auto' }
|
|
359
|
+
},
|
|
360
|
+
_react2['default'].createElement(
|
|
361
|
+
_button2['default'],
|
|
362
|
+
null,
|
|
363
|
+
_react2['default'].createElement(_icon2['default'], { type: 'upload' }),
|
|
364
|
+
' ',
|
|
365
|
+
buttonName
|
|
366
|
+
)
|
|
367
|
+
)
|
|
368
|
+
)),
|
|
369
|
+
!this.state.cancelStatus && preUploading ? _react2['default'].createElement(
|
|
370
|
+
'div',
|
|
371
|
+
null,
|
|
372
|
+
_react2['default'].createElement(
|
|
373
|
+
'span',
|
|
374
|
+
{ style: { margin: '10px auto', color: '#1890ff' } },
|
|
375
|
+
'\u6587\u4EF6\u8BFB\u53D6\u4E2D...'
|
|
376
|
+
),
|
|
377
|
+
_react2['default'].createElement(
|
|
378
|
+
'div',
|
|
379
|
+
{ style: { width: '90%' } },
|
|
380
|
+
_react2['default'].createElement(_progress2['default'], { width: 80, percent: preUploadPercent, status: 'active' })
|
|
381
|
+
)
|
|
382
|
+
) : '',
|
|
383
|
+
!this.state.cancelStatus && this.state.fileList.length > 0 && !!uploadRequest && _react2['default'].createElement(
|
|
384
|
+
'span',
|
|
385
|
+
{ style: { margin: '10px auto', color: '#1890ff' } },
|
|
386
|
+
'\u6587\u4EF6\u6821\u9A8C\u4E2D...'
|
|
387
|
+
),
|
|
388
|
+
!this.state.cancelStatus && this.state.fileList.length > 0 && uploadPercent >= 0 && uploadPercent < 100 && _react2['default'].createElement(
|
|
389
|
+
'div',
|
|
390
|
+
null,
|
|
391
|
+
!!uploading && _react2['default'].createElement(
|
|
392
|
+
'span',
|
|
393
|
+
{ style: { margin: '10px auto', color: '#1890ff' } },
|
|
394
|
+
'\u6587\u4EF6\u4E0A\u4F20\u4E2D(',
|
|
395
|
+
Math.floor(this.state.speed / 1024),
|
|
396
|
+
'KB/S)'
|
|
397
|
+
),
|
|
398
|
+
this.state.chunkProgressStatus === 'exception' ? _react2['default'].createElement(
|
|
399
|
+
'div',
|
|
400
|
+
{ style: { width: '90%' } },
|
|
401
|
+
_react2['default'].createElement(_progress2['default'], { percent: uploadPercent, size: 'small', status: this.state.chunkProgressStatus })
|
|
402
|
+
) : _react2['default'].createElement(
|
|
403
|
+
'div',
|
|
404
|
+
{ style: { width: '90%' } },
|
|
405
|
+
_react2['default'].createElement(_progress2['default'], { percent: uploadPercent, size: 'small' })
|
|
406
|
+
)
|
|
407
|
+
)
|
|
408
|
+
)
|
|
409
|
+
);
|
|
410
|
+
};
|
|
411
|
+
|
|
412
|
+
return BigFileUpload;
|
|
413
|
+
}(_react.Component);
|
|
414
|
+
|
|
415
|
+
BigFileUpload.propTypes = {
|
|
416
|
+
name: _propTypes2['default'].string.isRequired, // 上传名称
|
|
417
|
+
sendData: _propTypes2['default'].object, // 传送数据接口
|
|
418
|
+
initialValue: _propTypes2['default'].array, // 初始值
|
|
419
|
+
urlUpBigFileGeneral: _propTypes2['default'].string.isRequired, // 上传附件服务地址
|
|
420
|
+
urlCheckProgress: _propTypes2['default'].string.isRequired, // 检查附件地址
|
|
421
|
+
urlDownloadFile: _propTypes2['default'].string.isRequired, // 下载附件地址
|
|
422
|
+
required: _propTypes2['default'].bool, // 是否必须
|
|
423
|
+
help: _propTypes2['default'].string, // 后台附件服务地址
|
|
424
|
+
limitChunkSize: _propTypes2['default'].number, // 分片大小
|
|
425
|
+
listType: _propTypes2['default'].string, // 附件类型
|
|
426
|
+
accept: _propTypes2['default'].string, // 接受类型
|
|
427
|
+
buttonName: _propTypes2['default'].string, // 上传名称
|
|
428
|
+
isRead: _propTypes2['default'].bool, // 是否只读
|
|
429
|
+
label: _propTypes2['default'].string, // lable名称
|
|
430
|
+
className: _propTypes2['default'].string, // CSS类名
|
|
431
|
+
labelCol: _propTypes2['default'].object, // CSS类名
|
|
432
|
+
wrapperCol: _propTypes2['default'].object, // CSS类名
|
|
433
|
+
multiple: _propTypes2['default'].bool, // 是否多附件
|
|
434
|
+
readFileSize: _propTypes2['default'].number // 读取文件大小
|
|
435
|
+
};
|
|
436
|
+
BigFileUpload.defaultProps = {
|
|
437
|
+
initialValue: [],
|
|
438
|
+
listType: 'text',
|
|
439
|
+
accept: '',
|
|
440
|
+
limitChunkSize: 1024 * 1024, // 不限定单位 默认单位byte 1024KB
|
|
441
|
+
buttonName: '选择附件',
|
|
442
|
+
help: '请上传附件',
|
|
443
|
+
required: true,
|
|
444
|
+
isRead: false,
|
|
445
|
+
label: '',
|
|
446
|
+
multiple: false, // 默认单附件上传
|
|
447
|
+
className: '',
|
|
448
|
+
labelCol: {},
|
|
449
|
+
wrapperCol: {},
|
|
450
|
+
readFileSize: 10 * 1024 * 1024, // 默认最小10MB
|
|
451
|
+
sendData: {}
|
|
452
|
+
};
|
|
453
|
+
|
|
454
|
+
var _initialiseProps = function _initialiseProps() {
|
|
455
|
+
var _this3 = this;
|
|
456
|
+
|
|
457
|
+
this.setUploadValue = function (v) {
|
|
458
|
+
var _setFieldsValue;
|
|
459
|
+
|
|
460
|
+
var _props2 = _this3.props,
|
|
461
|
+
form = _props2.form,
|
|
462
|
+
name = _props2.name;
|
|
463
|
+
var setFieldsValue = form.setFieldsValue;
|
|
464
|
+
|
|
465
|
+
setFieldsValue((_setFieldsValue = {}, _setFieldsValue[name] = v, _setFieldsValue));
|
|
466
|
+
};
|
|
467
|
+
|
|
468
|
+
this.urlDeal = function (urlDownloadFile, uid) {
|
|
469
|
+
var retUrl = '';
|
|
470
|
+
if (uid !== '' && _comonConfig.aFlag && (_comonConfig.aFlag === '1' || _comonConfig.aFlag === '2')) {
|
|
471
|
+
var authToken = (0, _Easy3wGetCookie2['default'])('userToken') || 'E3WSAFEAPPQWEFGHYI7I483S';
|
|
472
|
+
var nowStr = _.now();
|
|
473
|
+
var encUrl = (0, _Easy3wAESEncrypt2['default'])(uid + '@#' + nowStr + '@#' + authToken, _comonConfig.a, _comonConfig.b);
|
|
474
|
+
return '' + urlDownloadFile + encUrl;
|
|
475
|
+
} else {
|
|
476
|
+
retUrl = '' + urlDownloadFile + uid;
|
|
477
|
+
return retUrl;
|
|
478
|
+
}
|
|
479
|
+
};
|
|
480
|
+
|
|
481
|
+
this.iniValDeal = function (initialValue) {
|
|
482
|
+
var urlDownloadFile = _this3.props.urlDownloadFile;
|
|
483
|
+
|
|
484
|
+
var iniVal = initialValue.map(function (obj) {
|
|
485
|
+
var uid = obj.uid,
|
|
486
|
+
name = obj.name;
|
|
487
|
+
|
|
488
|
+
var url = _this3.urlDeal(urlDownloadFile, uid);
|
|
489
|
+
var status = 'done';
|
|
490
|
+
return { uid: uid, name: name, url: url, status: status };
|
|
491
|
+
});
|
|
492
|
+
return iniVal;
|
|
493
|
+
};
|
|
494
|
+
|
|
495
|
+
this.checkFile = function (uploadParams) {
|
|
496
|
+
_this3.setState({ uploadRequest: true });
|
|
497
|
+
var formData = new FormData();
|
|
498
|
+
var authToken = (0, _Easy3wGetCookie2['default'])('userToken') || 'E3WSAFEAPPQWEFGHYI7I483S';
|
|
499
|
+
// const timeStr = new Date().getTime();
|
|
500
|
+
// if (AESFlag && AESFlag === '1') {
|
|
501
|
+
// authToken = Easy3wAESEncrypt(`${authToken}@#${timeStr}`, AESKey, AESIV);
|
|
502
|
+
// }
|
|
503
|
+
var _props3 = _this3.props,
|
|
504
|
+
name = _props3.name,
|
|
505
|
+
urlCheckProgress = _props3.urlCheckProgress,
|
|
506
|
+
urlDownloadFile = _props3.urlDownloadFile,
|
|
507
|
+
uploadDoneCallback = _props3.uploadDoneCallback;
|
|
508
|
+
|
|
509
|
+
formData.append('sendTime', new Date().getTime());
|
|
510
|
+
formData.append('appType', '01');
|
|
511
|
+
formData.append('authToken', authToken);
|
|
512
|
+
formData.append('devId', '');
|
|
513
|
+
formData.append('data', JSON.stringify({ uploadParams: uploadParams }));
|
|
514
|
+
formData.append('sign', '2959f1aea8db0f7fbba61f0f8474d0ef');
|
|
515
|
+
_superagent2['default'].post('' + urlCheckProgress).send(formData).withCredentials().end(function (err, res) {
|
|
516
|
+
if (err) {
|
|
517
|
+
var _state4 = _this3.state,
|
|
518
|
+
fileList = _state4.fileList,
|
|
519
|
+
currentFile = _state4.currentFile;
|
|
520
|
+
|
|
521
|
+
var index = fileList.indexOf(currentFile);
|
|
522
|
+
if (index >= 0) {
|
|
523
|
+
fileList.splice(index, 1);
|
|
524
|
+
_this3.setState((0, _extends3['default'])({}, _this3.state, {
|
|
525
|
+
fileList: fileList,
|
|
526
|
+
cancelStatus: true,
|
|
527
|
+
loading: false
|
|
528
|
+
}), function () {
|
|
529
|
+
_this3.setUploadValue(fileList);
|
|
530
|
+
});
|
|
531
|
+
}
|
|
532
|
+
if (err.timeout) {
|
|
533
|
+
_modal2['default'].error({
|
|
534
|
+
style: { top: '38%' },
|
|
535
|
+
content: '网络超时,上传失败,请检查网络后,重新续传。'
|
|
536
|
+
});
|
|
537
|
+
} else {
|
|
538
|
+
_modal2['default'].error({
|
|
539
|
+
style: { top: '38%' },
|
|
540
|
+
content: '服务请求异常,请重试'
|
|
541
|
+
});
|
|
542
|
+
}
|
|
543
|
+
return;
|
|
544
|
+
}
|
|
545
|
+
_this3.setState({ uploadRequest: false });
|
|
546
|
+
if (res.body.rspCode === '0000' && res.body.data) {
|
|
547
|
+
var _res$body$data = res.body.data,
|
|
548
|
+
uploadStatus = _res$body$data.uploadStatus,
|
|
549
|
+
uploadedSize = _res$body$data.uploadedSize,
|
|
550
|
+
fileId = _res$body$data.fileId,
|
|
551
|
+
uid = _res$body$data.uid;
|
|
552
|
+
var _fileList = _this3.state.fileList;
|
|
553
|
+
|
|
554
|
+
var fileInfo = {};
|
|
555
|
+
if (uploadStatus === '1') {
|
|
556
|
+
// 上传完成
|
|
557
|
+
var newList = _fileList.map(function (item) {
|
|
558
|
+
var tempData = item;
|
|
559
|
+
if (uid === item.uid) {
|
|
560
|
+
tempData.uid = fileId;
|
|
561
|
+
tempData.fileId = fileId;
|
|
562
|
+
tempData.url = '' + urlDownloadFile + fileId;
|
|
563
|
+
tempData.status = 'done';
|
|
564
|
+
tempData.fileName = tempData.name;
|
|
565
|
+
fileInfo = tempData;
|
|
566
|
+
}
|
|
567
|
+
return tempData;
|
|
568
|
+
});
|
|
569
|
+
_this3.setState((0, _extends3['default'])({}, _this3.state, {
|
|
570
|
+
uploadPercent: 100, // 不显示进度条
|
|
571
|
+
loading: false,
|
|
572
|
+
fileList: newList,
|
|
573
|
+
currentFile: null
|
|
574
|
+
}), function () {
|
|
575
|
+
_this3.setUploadValue(newList);
|
|
576
|
+
if (uploadDoneCallback) {
|
|
577
|
+
uploadDoneCallback(name, fileInfo, newList);
|
|
578
|
+
}
|
|
579
|
+
});
|
|
580
|
+
} else {
|
|
581
|
+
var uploadPercent = 0;
|
|
582
|
+
for (var _index = 0; _index < _fileList.length; _index += 1) {
|
|
583
|
+
var file = _fileList[_index];
|
|
584
|
+
if (uid === file.uid) {
|
|
585
|
+
var size = file.size;
|
|
586
|
+
|
|
587
|
+
var tempSize = Number(uploadedSize);
|
|
588
|
+
uploadPercent = Math.floor(tempSize / size * 100 * 10) / 10;
|
|
589
|
+
_this3.setState({
|
|
590
|
+
uploadPercent: uploadPercent,
|
|
591
|
+
CUSize: tempSize
|
|
592
|
+
}, function () {
|
|
593
|
+
setImmediate(_this3.handlePartUpload);
|
|
594
|
+
});
|
|
595
|
+
break;
|
|
596
|
+
}
|
|
597
|
+
}
|
|
598
|
+
}
|
|
599
|
+
} else if (res.body.rspMsg) {
|
|
600
|
+
_modal2['default'].error({
|
|
601
|
+
style: { top: '38%' },
|
|
602
|
+
content: res.body.rspMsg
|
|
603
|
+
});
|
|
604
|
+
var _state5 = _this3.state,
|
|
605
|
+
_fileList2 = _state5.fileList,
|
|
606
|
+
_currentFile = _state5.currentFile;
|
|
607
|
+
|
|
608
|
+
var _index2 = _fileList2.indexOf(_currentFile);
|
|
609
|
+
if (_index2 >= 0) {
|
|
610
|
+
_fileList2.splice(_index2, 1);
|
|
611
|
+
_this3.setState((0, _extends3['default'])({}, _this3.state, { loading: false, fileList: _fileList2 }), function () {
|
|
612
|
+
_this3.setUploadValue(_fileList2);
|
|
613
|
+
});
|
|
614
|
+
}
|
|
615
|
+
}
|
|
616
|
+
});
|
|
617
|
+
};
|
|
618
|
+
|
|
619
|
+
this.handlePartUpload = function () {
|
|
620
|
+
try {
|
|
621
|
+
var _state6 = _this3.state,
|
|
622
|
+
currentFile = _state6.currentFile,
|
|
623
|
+
CUSize = _state6.CUSize,
|
|
624
|
+
cancelStatus = _state6.cancelStatus,
|
|
625
|
+
uploadData = _state6.uploadData,
|
|
626
|
+
loading = _state6.loading,
|
|
627
|
+
speed = _state6.speed;
|
|
628
|
+
|
|
629
|
+
if (cancelStatus) {
|
|
630
|
+
if (loading) {
|
|
631
|
+
_this3.setState((0, _extends3['default'])({}, _this3.state, { loading: false }));
|
|
632
|
+
}
|
|
633
|
+
return;
|
|
634
|
+
}
|
|
635
|
+
var uploadPercent = _this3.state.uploadPercent;
|
|
636
|
+
|
|
637
|
+
if (uploadPercent === 100) {
|
|
638
|
+
_this3.setState((0, _extends3['default'])({}, _this3.state, { loading: false }));
|
|
639
|
+
return;
|
|
640
|
+
}
|
|
641
|
+
var uploadFileReader = new FileReader();
|
|
642
|
+
var blobSlice = File.prototype.slice || File.prototype.mozSlice || File.prototype.webkitSlice;
|
|
643
|
+
var chunkCheckErr = false;
|
|
644
|
+
var _props4 = _this3.props,
|
|
645
|
+
name = _props4.name,
|
|
646
|
+
limitChunkSize = _props4.limitChunkSize,
|
|
647
|
+
sendData = _props4.sendData,
|
|
648
|
+
uploadCallback = _props4.uploadCallback,
|
|
649
|
+
uploadDoneCallback = _props4.uploadDoneCallback,
|
|
650
|
+
urlUpBigFileGeneral = _props4.urlUpBigFileGeneral,
|
|
651
|
+
urlDownloadFile = _props4.urlDownloadFile;
|
|
652
|
+
|
|
653
|
+
var chunkSize = 0;
|
|
654
|
+
if (typeof limitChunkSize === 'string') {
|
|
655
|
+
if (limitChunkSize.toLowerCase().indexOf('k') !== -1) {
|
|
656
|
+
var temp = limitChunkSize.substring(0, limitChunkSize.toLowerCase().indexOf('k'));
|
|
657
|
+
chunkSize = Number(temp) * 1024;
|
|
658
|
+
} else if (limitChunkSize.toLowerCase().indexOf('m') !== -1) {
|
|
659
|
+
var _temp = limitChunkSize.substring(0, limitChunkSize.toLowerCase().indexOf('m'));
|
|
660
|
+
chunkSize = Number(_temp) * 1024 * 1024;
|
|
661
|
+
} else {
|
|
662
|
+
chunkSize = Number(limitChunkSize);
|
|
663
|
+
}
|
|
664
|
+
} else {
|
|
665
|
+
chunkSize = limitChunkSize;
|
|
666
|
+
}
|
|
667
|
+
var fileSize = currentFile.size;
|
|
668
|
+
var end = 0;
|
|
669
|
+
// 如果速率大于0 使用当前速率上传
|
|
670
|
+
if (speed > chunkSize) {
|
|
671
|
+
if (fileSize - CUSize > speed) {
|
|
672
|
+
end = CUSize + speed;
|
|
673
|
+
} else {
|
|
674
|
+
end = fileSize;
|
|
675
|
+
}
|
|
676
|
+
} else if (fileSize - CUSize > chunkSize) {
|
|
677
|
+
end = CUSize + chunkSize;
|
|
678
|
+
} else {
|
|
679
|
+
end = fileSize;
|
|
680
|
+
}
|
|
681
|
+
uploadFileReader.onload = function (e) {
|
|
682
|
+
if (chunkCheckErr) {
|
|
683
|
+
return;
|
|
684
|
+
}
|
|
685
|
+
// 上传附件
|
|
686
|
+
var file = uploadData.file;
|
|
687
|
+
|
|
688
|
+
var formData = new FormData();
|
|
689
|
+
var authToken = (0, _Easy3wGetCookie2['default'])('userToken') || 'E3WSAFEAPPQWEFGHYI7I483S';
|
|
690
|
+
// const timeStr = new Date().getTime();
|
|
691
|
+
// if (AESFlag && AESFlag === '1') {
|
|
692
|
+
// authToken = Easy3wAESEncrypt(`${authToken}@#${timeStr}`, AESKey, AESIV);
|
|
693
|
+
// }
|
|
694
|
+
var blob = new Blob([e.target.result], { type: 'application/octet-stream' });
|
|
695
|
+
var postParam = (0, _extends3['default'])({ fileInfo: file }, sendData, { currentSize: end });
|
|
696
|
+
formData.append('chunk', blob);
|
|
697
|
+
formData.append('sendTime', new Date().getTime());
|
|
698
|
+
formData.append('appType', '01');
|
|
699
|
+
formData.append('authToken', authToken);
|
|
700
|
+
formData.append('data', JSON.stringify(postParam));
|
|
701
|
+
formData.append('sign', '2959f1aea8db0f7fbba61f0f8474d0ef');
|
|
702
|
+
var startTime = new Date().getTime();
|
|
703
|
+
_superagent2['default'].post('' + urlUpBigFileGeneral).send(formData).withCredentials().end(function (err, res) {
|
|
704
|
+
if (err) {
|
|
705
|
+
var fileList = _this3.state.fileList;
|
|
706
|
+
|
|
707
|
+
var index = fileList.indexOf(currentFile);
|
|
708
|
+
if (index >= 0) {
|
|
709
|
+
fileList.splice(index, 1);
|
|
710
|
+
_this3.setState((0, _extends3['default'])({}, _this3.state, {
|
|
711
|
+
fileList: fileList,
|
|
712
|
+
cancelStatus: true,
|
|
713
|
+
loading: false
|
|
714
|
+
}), function () {
|
|
715
|
+
_this3.setUploadValue(fileList);
|
|
716
|
+
});
|
|
717
|
+
}
|
|
718
|
+
if (err.timeout) {
|
|
719
|
+
_modal2['default'].error({
|
|
720
|
+
style: { top: '38%' },
|
|
721
|
+
content: '网络超时,上传失败,请检查网络后,重新续传。'
|
|
722
|
+
});
|
|
723
|
+
} else {
|
|
724
|
+
_modal2['default'].error({
|
|
725
|
+
style: { top: '38%' },
|
|
726
|
+
content: '服务请求异常,请重试'
|
|
727
|
+
});
|
|
728
|
+
}
|
|
729
|
+
return;
|
|
730
|
+
}
|
|
731
|
+
var size = e.target.result.byteLength;
|
|
732
|
+
blob = null;
|
|
733
|
+
formData = null;
|
|
734
|
+
if (res && res.body.rspCode === '0000') {
|
|
735
|
+
var useTime = (new Date().getTime() - startTime) / 1000; // 用时秒
|
|
736
|
+
// 1秒传输速率
|
|
737
|
+
var curSpeed = Math.floor(1 / useTime * size);
|
|
738
|
+
var _res$body$data2 = res.body.data,
|
|
739
|
+
uploadStatus = _res$body$data2.uploadStatus,
|
|
740
|
+
fileId = _res$body$data2.fileId,
|
|
741
|
+
checkStatus = _res$body$data2.checkStatus,
|
|
742
|
+
uploadedSize = _res$body$data2.uploadedSize;
|
|
743
|
+
|
|
744
|
+
var upSize = Number(uploadedSize);
|
|
745
|
+
// 计算上传进度
|
|
746
|
+
uploadPercent = Math.floor(upSize / fileSize * 100 * 10) / 10;
|
|
747
|
+
if (checkStatus === '0') {
|
|
748
|
+
chunkCheckErr = true;
|
|
749
|
+
}
|
|
750
|
+
var chunkProgressStatus = 'active';
|
|
751
|
+
if (uploadPercent >= 100) {
|
|
752
|
+
var _fileList3 = _this3.state.fileList;
|
|
753
|
+
|
|
754
|
+
if (uploadStatus === '1' && checkStatus === '1') {
|
|
755
|
+
// 上传并验证完毕
|
|
756
|
+
var fileInfo = null;
|
|
757
|
+
chunkProgressStatus = 'active';
|
|
758
|
+
var newList = _fileList3.map(function (item) {
|
|
759
|
+
var tempData = item;
|
|
760
|
+
if (currentFile && currentFile.uid === item.uid) {
|
|
761
|
+
tempData.uid = fileId;
|
|
762
|
+
tempData.fileId = fileId;
|
|
763
|
+
tempData.url = '' + urlDownloadFile + fileId;
|
|
764
|
+
tempData.status = 'done';
|
|
765
|
+
tempData.fileName = tempData.name;
|
|
766
|
+
fileInfo = tempData;
|
|
767
|
+
}
|
|
768
|
+
return tempData;
|
|
769
|
+
});
|
|
770
|
+
_this3.setState((0, _extends3['default'])({}, _this3.state, {
|
|
771
|
+
uploadPercent: uploadPercent,
|
|
772
|
+
uploading: false,
|
|
773
|
+
loading: false,
|
|
774
|
+
chunkProgressStatus: chunkProgressStatus,
|
|
775
|
+
CUSize: upSize,
|
|
776
|
+
fileList: newList,
|
|
777
|
+
currentFile: null,
|
|
778
|
+
speed: curSpeed
|
|
779
|
+
}), function () {
|
|
780
|
+
_this3.setUploadValue(newList);
|
|
781
|
+
});
|
|
782
|
+
if (uploadCallback && typeof uploadCallback === 'function') {
|
|
783
|
+
uploadCallback(newList);
|
|
784
|
+
}
|
|
785
|
+
if (uploadDoneCallback) {
|
|
786
|
+
uploadDoneCallback(name, fileInfo, newList);
|
|
787
|
+
}
|
|
788
|
+
} else {
|
|
789
|
+
chunkProgressStatus = 'exception';
|
|
790
|
+
if (checkStatus !== '1') {
|
|
791
|
+
_modal2['default'].error({
|
|
792
|
+
style: { top: '38%' },
|
|
793
|
+
content: '附件完整性验证失败:可能由于网络丢包原因,您上传的附件未通过完整性校验,需要您重新上传。'
|
|
794
|
+
});
|
|
795
|
+
} else {
|
|
796
|
+
_modal2['default'].error({
|
|
797
|
+
style: { top: '38%' },
|
|
798
|
+
content: '上传失败'
|
|
799
|
+
});
|
|
800
|
+
}
|
|
801
|
+
var _index3 = _fileList3.indexOf(currentFile);
|
|
802
|
+
if (_index3 >= 0) {
|
|
803
|
+
_fileList3.splice(_index3, 1);
|
|
804
|
+
_this3.setState((0, _extends3['default'])({}, _this3.state, {
|
|
805
|
+
uploadPercent: uploadPercent,
|
|
806
|
+
uploading: false,
|
|
807
|
+
loading: false,
|
|
808
|
+
chunkProgressStatus: chunkProgressStatus,
|
|
809
|
+
CUSize: upSize,
|
|
810
|
+
fileList: _fileList3,
|
|
811
|
+
currentFile: null,
|
|
812
|
+
speed: curSpeed
|
|
813
|
+
}), function () {
|
|
814
|
+
_this3.setUploadValue(_fileList3);
|
|
815
|
+
});
|
|
816
|
+
}
|
|
817
|
+
}
|
|
818
|
+
} else {
|
|
819
|
+
_this3.setState((0, _extends3['default'])({}, _this3.state, {
|
|
820
|
+
uploadPercent: uploadPercent,
|
|
821
|
+
uploading: true,
|
|
822
|
+
loading: true,
|
|
823
|
+
chunkProgressStatus: chunkProgressStatus,
|
|
824
|
+
CUSize: upSize,
|
|
825
|
+
speed: curSpeed
|
|
826
|
+
}), function () {
|
|
827
|
+
setImmediate(_this3.handlePartUpload);
|
|
828
|
+
});
|
|
829
|
+
}
|
|
830
|
+
} else if (res && res.body.rspMsg) {
|
|
831
|
+
_modal2['default'].error({
|
|
832
|
+
style: { top: '38%' },
|
|
833
|
+
content: res.body.rspMsg
|
|
834
|
+
});
|
|
835
|
+
var _fileList4 = _this3.state.fileList;
|
|
836
|
+
|
|
837
|
+
var _index4 = _fileList4.indexOf(currentFile);
|
|
838
|
+
if (_index4 >= 0) {
|
|
839
|
+
_fileList4.splice(_index4, 1);
|
|
840
|
+
_this3.setState((0, _extends3['default'])({}, _this3.state, { loading: false, fileList: _fileList4 }), function () {
|
|
841
|
+
_this3.setUploadValue(_fileList4);
|
|
842
|
+
});
|
|
843
|
+
}
|
|
844
|
+
} else {
|
|
845
|
+
_modal2['default'].error({
|
|
846
|
+
style: { top: '38%' },
|
|
847
|
+
content: '上传失败'
|
|
848
|
+
});
|
|
849
|
+
var _fileList5 = _this3.state.fileList;
|
|
850
|
+
|
|
851
|
+
var _index5 = _fileList5.indexOf(currentFile);
|
|
852
|
+
if (_index5 >= 0) {
|
|
853
|
+
_fileList5.splice(_index5, 1);
|
|
854
|
+
_this3.setState((0, _extends3['default'])({}, _this3.state, { loading: false, fileList: _fileList5 }), function () {
|
|
855
|
+
_this3.setUploadValue(_fileList5);
|
|
856
|
+
});
|
|
857
|
+
}
|
|
858
|
+
}
|
|
859
|
+
});
|
|
860
|
+
};
|
|
861
|
+
// console.log('读取文件', `文件大小:${currentFile.size}`, `已上传大小${CUSize}`, `结束值${end}`, `切片大小${speed}`);
|
|
862
|
+
uploadFileReader.readAsArrayBuffer(blobSlice.call(currentFile, CUSize, end));
|
|
863
|
+
} catch (error) {
|
|
864
|
+
_modal2['default'].error({
|
|
865
|
+
style: { top: '38%' },
|
|
866
|
+
content: error
|
|
867
|
+
});
|
|
868
|
+
var _state7 = _this3.state,
|
|
869
|
+
fileList = _state7.fileList,
|
|
870
|
+
_currentFile2 = _state7.currentFile;
|
|
871
|
+
|
|
872
|
+
var index = fileList.indexOf(_currentFile2);
|
|
873
|
+
if (index >= 0) {
|
|
874
|
+
fileList.splice(index, 1);
|
|
875
|
+
_this3.setState((0, _extends3['default'])({}, _this3.state, { fileList: fileList }), function () {
|
|
876
|
+
_this3.setUploadValue(fileList);
|
|
877
|
+
});
|
|
878
|
+
}
|
|
879
|
+
}
|
|
880
|
+
};
|
|
881
|
+
|
|
882
|
+
this.readFile = function (file) {
|
|
883
|
+
try {
|
|
884
|
+
var chunkReader = new FileReader();
|
|
885
|
+
var _props5 = _this3.props,
|
|
886
|
+
limitChunkSize = _props5.limitChunkSize,
|
|
887
|
+
readFileSize = _props5.readFileSize;
|
|
888
|
+
// ...对文件的预处理
|
|
889
|
+
// 兼容性的处理
|
|
890
|
+
|
|
891
|
+
var blobSlice = File.prototype.slice || File.prototype.mozSlice || File.prototype.webkitSlice;
|
|
892
|
+
var chunkSize = 0;
|
|
893
|
+
if (typeof limitChunkSize === 'string') {
|
|
894
|
+
if (limitChunkSize.toLowerCase().indexOf('k') !== -1) {
|
|
895
|
+
var temp = limitChunkSize.substring(0, limitChunkSize.toLowerCase().indexOf('k'));
|
|
896
|
+
chunkSize = Number(temp) * 1024;
|
|
897
|
+
} else if (limitChunkSize.toLowerCase().indexOf('m') !== -1) {
|
|
898
|
+
var _temp2 = limitChunkSize.substring(0, limitChunkSize.toLowerCase().indexOf('m'));
|
|
899
|
+
chunkSize = Number(_temp2) * 1024 * 1024;
|
|
900
|
+
} else {
|
|
901
|
+
chunkSize = Number(limitChunkSize);
|
|
902
|
+
}
|
|
903
|
+
} else {
|
|
904
|
+
chunkSize = limitChunkSize;
|
|
905
|
+
}
|
|
906
|
+
var tempreadFileSize = 0;
|
|
907
|
+
if (typeof readFileSize === 'string') {
|
|
908
|
+
if (readFileSize.toLowerCase().indexOf('k') !== -1) {
|
|
909
|
+
var _temp3 = readFileSize.substring(0, readFileSize.toLowerCase().indexOf('k'));
|
|
910
|
+
tempreadFileSize = Number(_temp3) * 1024;
|
|
911
|
+
} else if (readFileSize.toLowerCase().indexOf('m') !== -1) {
|
|
912
|
+
var _temp4 = readFileSize.substring(0, readFileSize.toLowerCase().indexOf('m'));
|
|
913
|
+
tempreadFileSize = Number(_temp4) * 1024 * 1024;
|
|
914
|
+
} else {
|
|
915
|
+
tempreadFileSize = Number(readFileSize);
|
|
916
|
+
}
|
|
917
|
+
} else {
|
|
918
|
+
tempreadFileSize = readFileSize;
|
|
919
|
+
}
|
|
920
|
+
if (tempreadFileSize < 5 * 1024 * 1024) {
|
|
921
|
+
tempreadFileSize = 5 * 1024 * 1024;
|
|
922
|
+
}
|
|
923
|
+
var sliceCount = 0;
|
|
924
|
+
if (chunkSize < tempreadFileSize) {
|
|
925
|
+
// 切片小于分段大小
|
|
926
|
+
sliceCount = Math.ceil(file.size / tempreadFileSize);
|
|
927
|
+
} else {
|
|
928
|
+
sliceCount = Math.ceil(file.size / chunkSize);
|
|
929
|
+
}
|
|
930
|
+
var mainFileSpark = new _sparkMd2['default'].ArrayBuffer(); // 对arrayBuffer数据进行md5加密,产生一个md5字符串 主文件
|
|
931
|
+
var params = { file: {} }; // 用于上传所有分片的md5信息
|
|
932
|
+
params.file.fileName = file.name;
|
|
933
|
+
params.file.fileSize = file.size;
|
|
934
|
+
params.file.uid = file.uid;
|
|
935
|
+
var sliceIndex = 0;
|
|
936
|
+
chunkReader.onload = function (e) {
|
|
937
|
+
mainFileSpark.append(e.target.result);
|
|
938
|
+
sliceIndex += 1;
|
|
939
|
+
if (sliceIndex < sliceCount) {
|
|
940
|
+
_this3.setState((0, _extends3['default'])({}, _this3.state, {
|
|
941
|
+
preUploading: true,
|
|
942
|
+
preUploadPercent: Number((sliceIndex / sliceCount * 100).toFixed(1)) }));
|
|
943
|
+
setImmediate(_loadNext, sliceIndex, tempreadFileSize);
|
|
944
|
+
} else {
|
|
945
|
+
var mainFileMD5 = mainFileSpark.end();
|
|
946
|
+
params.file.fileMd5 = mainFileMD5;
|
|
947
|
+
// 表示预处理结束,检验附件上传情况
|
|
948
|
+
_this3.setState((0, _extends3['default'])({}, _this3.state, {
|
|
949
|
+
preUploading: false,
|
|
950
|
+
preUploadPercent: 100,
|
|
951
|
+
uploadData: params
|
|
952
|
+
// loading: false
|
|
953
|
+
}), function () {
|
|
954
|
+
setImmediate(_this3.checkFile, params);
|
|
955
|
+
});
|
|
956
|
+
}
|
|
957
|
+
};
|
|
958
|
+
var _loadNext = function _loadNext(count, size) {
|
|
959
|
+
var cancelStatus = _this3.state.cancelStatus;
|
|
960
|
+
|
|
961
|
+
if (cancelStatus) {
|
|
962
|
+
return;
|
|
963
|
+
}
|
|
964
|
+
var start = count * size;
|
|
965
|
+
var end = start + size >= file.size ? file.size : start + size;
|
|
966
|
+
// console.log(`读取文件,文件大小${file.size},截取开始位置${start},结束位置${end}`);
|
|
967
|
+
chunkReader.readAsArrayBuffer(blobSlice.call(file, start, end));
|
|
968
|
+
};
|
|
969
|
+
_loadNext(sliceIndex, tempreadFileSize);
|
|
970
|
+
} catch (error) {
|
|
971
|
+
_modal2['default'].error({
|
|
972
|
+
style: { top: '38%' },
|
|
973
|
+
content: error
|
|
974
|
+
});
|
|
975
|
+
var _state8 = _this3.state,
|
|
976
|
+
fileList = _state8.fileList,
|
|
977
|
+
currentFile = _state8.currentFile;
|
|
978
|
+
|
|
979
|
+
var index = fileList.indexOf(currentFile);
|
|
980
|
+
if (index >= 0) {
|
|
981
|
+
fileList.splice(index, 1);
|
|
982
|
+
_this3.setState((0, _extends3['default'])({}, _this3.state, { fileList: fileList }), function () {
|
|
983
|
+
_this3.setUploadValue(fileList);
|
|
984
|
+
});
|
|
985
|
+
}
|
|
986
|
+
}
|
|
987
|
+
};
|
|
988
|
+
|
|
989
|
+
this.requiredFile = function (rule, value, callback) {
|
|
990
|
+
var required = _this3.props.required;
|
|
991
|
+
var fileList = _this3.state.fileList;
|
|
992
|
+
|
|
993
|
+
if (required && (!fileList || fileList.length === 0)) {
|
|
994
|
+
callback();
|
|
995
|
+
return;
|
|
996
|
+
}
|
|
997
|
+
if (required) {
|
|
998
|
+
for (var i = 0; i < fileList.length; i += 1) {
|
|
999
|
+
var file = fileList[i];
|
|
1000
|
+
if (file.status !== 'done') {
|
|
1001
|
+
callback(' ');
|
|
1002
|
+
break;
|
|
1003
|
+
}
|
|
1004
|
+
}
|
|
1005
|
+
}
|
|
1006
|
+
callback();
|
|
1007
|
+
};
|
|
1008
|
+
};
|
|
1009
|
+
|
|
1010
|
+
exports['default'] = BigFileUpload;
|
|
1011
|
+
module.exports = exports['default'];
|
|
@@ -76,25 +76,20 @@ var _modal2 = _interopRequireDefault(_modal);
|
|
|
76
76
|
|
|
77
77
|
require('antd/lib/modal/style');
|
|
78
78
|
|
|
79
|
-
var _comonConfig = require('comonConfigPath/comonConfig');
|
|
80
|
-
|
|
81
|
-
var _Easy3wGetCookie = require('./../Easy3wGetCookie');
|
|
82
|
-
|
|
83
|
-
var _Easy3wGetCookie2 = _interopRequireDefault(_Easy3wGetCookie);
|
|
84
|
-
|
|
85
|
-
var _Easy3wDownLoad = require('./../Easy3wDownLoad');
|
|
86
|
-
|
|
87
|
-
var _Easy3wDownLoad2 = _interopRequireDefault(_Easy3wDownLoad);
|
|
88
|
-
|
|
89
|
-
var _Easy3wAESEncrypt = require('./../Easy3wAESEncrypt');
|
|
90
|
-
|
|
91
|
-
var _Easy3wAESEncrypt2 = _interopRequireDefault(_Easy3wAESEncrypt);
|
|
92
|
-
|
|
93
79
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
|
94
80
|
|
|
95
81
|
var formItemStyle = {
|
|
96
82
|
marginBottom: 6
|
|
97
83
|
};
|
|
84
|
+
function Easy3wGetCookie(name) {
|
|
85
|
+
var arr = void 0;
|
|
86
|
+
var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)');
|
|
87
|
+
if (arr = document.cookie.match(reg)) {
|
|
88
|
+
return unescape(arr[2]);
|
|
89
|
+
} else {
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
98
93
|
|
|
99
94
|
var BigFileUpload = function (_Component) {
|
|
100
95
|
(0, _inherits3['default'])(BigFileUpload, _Component);
|
|
@@ -163,9 +158,7 @@ var BigFileUpload = function (_Component) {
|
|
|
163
158
|
className = _props.className,
|
|
164
159
|
labelCol = _props.labelCol,
|
|
165
160
|
wrapperCol = _props.wrapperCol,
|
|
166
|
-
showUploadList = _props.showUploadList
|
|
167
|
-
urlDownloadFile = _props.urlDownloadFile,
|
|
168
|
-
initialValue = _props.initialValue;
|
|
161
|
+
showUploadList = _props.showUploadList;
|
|
169
162
|
var _state = this.state,
|
|
170
163
|
preUploading = _state.preUploading,
|
|
171
164
|
uploadPercent = _state.uploadPercent,
|
|
@@ -240,20 +233,10 @@ var BigFileUpload = function (_Component) {
|
|
|
240
233
|
var fileTypePass = true;
|
|
241
234
|
var fileNameArr = file.name.toLowerCase().split('.');
|
|
242
235
|
var fileType = fileNameArr[fileNameArr.length - 1];
|
|
243
|
-
if (file.name.length > 100) {
|
|
244
|
-
_modal2['default'].info({
|
|
245
|
-
style: { top: '38%' },
|
|
246
|
-
content: '文件名称至多100个字符',
|
|
247
|
-
okText: '知道了'
|
|
248
|
-
});
|
|
249
|
-
return false;
|
|
250
|
-
}
|
|
251
|
-
var acceptDefault = '.rplib,.xls,.doc,.jpg,.pdf,.png,.zip,.bmp,.rar,.txt,.docx,.ico,.bid,.xlsx,.jpeg,.json,.xml,.ebid,.dwg,.pptx,.xmind,.xps,.crx,.7z,.ppt,.svg,.pdm,.xlsm,.vsd,.gif,.tif,.docm,.csv,.ttf,.wps,.psd,.mp4,.tiff,.rtf,.tlb,.xlsb';
|
|
252
236
|
if (accept && accept.length > 0) {
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
fileTypePass = false;
|
|
237
|
+
if (accept.indexOf(fileType) < 0) {
|
|
238
|
+
fileTypePass = false;
|
|
239
|
+
}
|
|
257
240
|
}
|
|
258
241
|
if (!fileTypePass) {
|
|
259
242
|
_modal2['default'].error({
|
|
@@ -274,6 +257,9 @@ var BigFileUpload = function (_Component) {
|
|
|
274
257
|
fileList = _state3.fileList,
|
|
275
258
|
iniSetedFlag = _state3.iniSetedFlag;
|
|
276
259
|
|
|
260
|
+
if (!iniSetedFlag) {
|
|
261
|
+
iniSetedFlag = true;
|
|
262
|
+
}
|
|
277
263
|
if (!multiple) {
|
|
278
264
|
fileList = [file];
|
|
279
265
|
} else {
|
|
@@ -303,25 +289,7 @@ var BigFileUpload = function (_Component) {
|
|
|
303
289
|
},
|
|
304
290
|
fileList: this.state.fileList
|
|
305
291
|
};
|
|
306
|
-
|
|
307
|
-
uploadProp = (0, _extends3['default'])({}, uploadProp, { showUploadList: { showPreviewIcon: true, showRemoveIcon: false } });
|
|
308
|
-
}
|
|
309
|
-
return isRead ? _react2['default'].createElement(
|
|
310
|
-
_form2['default'].Item,
|
|
311
|
-
{
|
|
312
|
-
label: label,
|
|
313
|
-
className: className,
|
|
314
|
-
labelCol: labelCol,
|
|
315
|
-
wrapperCol: wrapperCol,
|
|
316
|
-
style: formItemStyle
|
|
317
|
-
},
|
|
318
|
-
getFieldDecorator('' + name, {})(_react2['default'].createElement(_Easy3wDownLoad2['default'], {
|
|
319
|
-
pdfViewFlag: true,
|
|
320
|
-
imgVisible: true,
|
|
321
|
-
urlDownloadFile: urlDownloadFile,
|
|
322
|
-
downloadArr: initialValue
|
|
323
|
-
}))
|
|
324
|
-
) : _react2['default'].createElement(
|
|
292
|
+
return _react2['default'].createElement(
|
|
325
293
|
_form2['default'].Item,
|
|
326
294
|
{
|
|
327
295
|
label: label,
|
|
@@ -465,19 +433,6 @@ var _initialiseProps = function _initialiseProps() {
|
|
|
465
433
|
setFieldsValue((_setFieldsValue = {}, _setFieldsValue[name] = v, _setFieldsValue));
|
|
466
434
|
};
|
|
467
435
|
|
|
468
|
-
this.urlDeal = function (urlDownloadFile, uid) {
|
|
469
|
-
var retUrl = '';
|
|
470
|
-
if (uid !== '' && _comonConfig.aFlag && (_comonConfig.aFlag === '1' || _comonConfig.aFlag === '2')) {
|
|
471
|
-
var authToken = (0, _Easy3wGetCookie2['default'])('userToken') || 'E3WSAFEAPPQWEFGHYI7I483S';
|
|
472
|
-
var nowStr = _.now();
|
|
473
|
-
var encUrl = (0, _Easy3wAESEncrypt2['default'])(uid + '@#' + nowStr + '@#' + authToken, _comonConfig.a, _comonConfig.b);
|
|
474
|
-
return '' + urlDownloadFile + encUrl;
|
|
475
|
-
} else {
|
|
476
|
-
retUrl = '' + urlDownloadFile + uid;
|
|
477
|
-
return retUrl;
|
|
478
|
-
}
|
|
479
|
-
};
|
|
480
|
-
|
|
481
436
|
this.iniValDeal = function (initialValue) {
|
|
482
437
|
var urlDownloadFile = _this3.props.urlDownloadFile;
|
|
483
438
|
|
|
@@ -485,7 +440,7 @@ var _initialiseProps = function _initialiseProps() {
|
|
|
485
440
|
var uid = obj.uid,
|
|
486
441
|
name = obj.name;
|
|
487
442
|
|
|
488
|
-
var url =
|
|
443
|
+
var url = '' + urlDownloadFile + uid;
|
|
489
444
|
var status = 'done';
|
|
490
445
|
return { uid: uid, name: name, url: url, status: status };
|
|
491
446
|
});
|
|
@@ -495,11 +450,7 @@ var _initialiseProps = function _initialiseProps() {
|
|
|
495
450
|
this.checkFile = function (uploadParams) {
|
|
496
451
|
_this3.setState({ uploadRequest: true });
|
|
497
452
|
var formData = new FormData();
|
|
498
|
-
var authToken = (
|
|
499
|
-
// const timeStr = new Date().getTime();
|
|
500
|
-
// if (AESFlag && AESFlag === '1') {
|
|
501
|
-
// authToken = Easy3wAESEncrypt(`${authToken}@#${timeStr}`, AESKey, AESIV);
|
|
502
|
-
// }
|
|
453
|
+
var authToken = Easy3wGetCookie('userToken') || '40572da23bee5fd59cc5b6c8d8bfb36d';
|
|
503
454
|
var _props3 = _this3.props,
|
|
504
455
|
name = _props3.name,
|
|
505
456
|
urlCheckProgress = _props3.urlCheckProgress,
|
|
@@ -608,7 +559,7 @@ var _initialiseProps = function _initialiseProps() {
|
|
|
608
559
|
var _index2 = _fileList2.indexOf(_currentFile);
|
|
609
560
|
if (_index2 >= 0) {
|
|
610
561
|
_fileList2.splice(_index2, 1);
|
|
611
|
-
_this3.setState((0, _extends3['default'])({}, _this3.state, {
|
|
562
|
+
_this3.setState((0, _extends3['default'])({}, _this3.state, { fileList: _fileList2, loading: false }), function () {
|
|
612
563
|
_this3.setUploadValue(_fileList2);
|
|
613
564
|
});
|
|
614
565
|
}
|
|
@@ -616,7 +567,7 @@ var _initialiseProps = function _initialiseProps() {
|
|
|
616
567
|
});
|
|
617
568
|
};
|
|
618
569
|
|
|
619
|
-
this.handlePartUpload = function () {
|
|
570
|
+
this.handlePartUpload = function (sIndex, eIndex) {
|
|
620
571
|
try {
|
|
621
572
|
var _state6 = _this3.state,
|
|
622
573
|
currentFile = _state6.currentFile,
|
|
@@ -678,21 +629,25 @@ var _initialiseProps = function _initialiseProps() {
|
|
|
678
629
|
} else {
|
|
679
630
|
end = fileSize;
|
|
680
631
|
}
|
|
632
|
+
var start = CUSize;
|
|
633
|
+
if (sIndex && sIndex > 0 && eIndex && eIndex > 0) {
|
|
634
|
+
end = eIndex;
|
|
635
|
+
start = sIndex;
|
|
636
|
+
}
|
|
681
637
|
uploadFileReader.onload = function (e) {
|
|
682
638
|
if (chunkCheckErr) {
|
|
683
639
|
return;
|
|
684
640
|
}
|
|
641
|
+
var mainFileSpark = new _sparkMd2['default'].ArrayBuffer(); // 对arrayBuffer数据进行md5加密,产生一个md5字符串 主文件
|
|
642
|
+
mainFileSpark.append(e.target.result);
|
|
643
|
+
var chunkMD5 = mainFileSpark.end();
|
|
685
644
|
// 上传附件
|
|
686
645
|
var file = uploadData.file;
|
|
687
646
|
|
|
688
647
|
var formData = new FormData();
|
|
689
|
-
var authToken = (
|
|
690
|
-
// const timeStr = new Date().getTime();
|
|
691
|
-
// if (AESFlag && AESFlag === '1') {
|
|
692
|
-
// authToken = Easy3wAESEncrypt(`${authToken}@#${timeStr}`, AESKey, AESIV);
|
|
693
|
-
// }
|
|
648
|
+
var authToken = Easy3wGetCookie('userToken') || '40572da23bee5fd59cc5b6c8d8bfb36d';
|
|
694
649
|
var blob = new Blob([e.target.result], { type: 'application/octet-stream' });
|
|
695
|
-
var postParam = (0, _extends3['default'])({ fileInfo: file }, sendData, { currentSize: end });
|
|
650
|
+
var postParam = (0, _extends3['default'])({ fileInfo: file }, sendData, { currentSize: end, startSize: start, chunkMD5: chunkMD5 });
|
|
696
651
|
formData.append('chunk', blob);
|
|
697
652
|
formData.append('sendTime', new Date().getTime());
|
|
698
653
|
formData.append('appType', '01');
|
|
@@ -732,16 +687,26 @@ var _initialiseProps = function _initialiseProps() {
|
|
|
732
687
|
blob = null;
|
|
733
688
|
formData = null;
|
|
734
689
|
if (res && res.body.rspCode === '0000') {
|
|
735
|
-
var useTime = (new Date().getTime() - startTime) / 1000; // 用时秒
|
|
736
|
-
// 1秒传输速率
|
|
737
|
-
var curSpeed = Math.floor(1 / useTime * size);
|
|
738
690
|
var _res$body$data2 = res.body.data,
|
|
739
691
|
uploadStatus = _res$body$data2.uploadStatus,
|
|
740
692
|
fileId = _res$body$data2.fileId,
|
|
741
693
|
checkStatus = _res$body$data2.checkStatus,
|
|
742
|
-
uploadedSize = _res$body$data2.uploadedSize
|
|
694
|
+
uploadedSize = _res$body$data2.uploadedSize,
|
|
695
|
+
startIndex = _res$body$data2.startIndex,
|
|
696
|
+
endIndex = _res$body$data2.endIndex;
|
|
743
697
|
|
|
698
|
+
var useTime = (new Date().getTime() - startTime) / 1000; // 用时秒
|
|
744
699
|
var upSize = Number(uploadedSize);
|
|
700
|
+
// 1秒传输速率
|
|
701
|
+
var curSpeed = Math.floor(1 / useTime * size);
|
|
702
|
+
if (checkStatus && checkStatus === 'RETRY') {
|
|
703
|
+
_this3.setState((0, _extends3['default'])({}, _this3.state, {
|
|
704
|
+
speed: curSpeed
|
|
705
|
+
}), function () {
|
|
706
|
+
setImmediate(_this3.handlePartUpload, startIndex, endIndex);
|
|
707
|
+
});
|
|
708
|
+
return;
|
|
709
|
+
}
|
|
745
710
|
// 计算上传进度
|
|
746
711
|
uploadPercent = Math.floor(upSize / fileSize * 100 * 10) / 10;
|
|
747
712
|
if (checkStatus === '0') {
|
|
@@ -827,10 +792,10 @@ var _initialiseProps = function _initialiseProps() {
|
|
|
827
792
|
setImmediate(_this3.handlePartUpload);
|
|
828
793
|
});
|
|
829
794
|
}
|
|
830
|
-
} else
|
|
795
|
+
} else {
|
|
831
796
|
_modal2['default'].error({
|
|
832
797
|
style: { top: '38%' },
|
|
833
|
-
content: res.body.rspMsg
|
|
798
|
+
content: res && res.body.rspMsg ? res.body.rspMsg : '上传失败'
|
|
834
799
|
});
|
|
835
800
|
var _fileList4 = _this3.state.fileList;
|
|
836
801
|
|
|
@@ -841,25 +806,11 @@ var _initialiseProps = function _initialiseProps() {
|
|
|
841
806
|
_this3.setUploadValue(_fileList4);
|
|
842
807
|
});
|
|
843
808
|
}
|
|
844
|
-
} else {
|
|
845
|
-
_modal2['default'].error({
|
|
846
|
-
style: { top: '38%' },
|
|
847
|
-
content: '上传失败'
|
|
848
|
-
});
|
|
849
|
-
var _fileList5 = _this3.state.fileList;
|
|
850
|
-
|
|
851
|
-
var _index5 = _fileList5.indexOf(currentFile);
|
|
852
|
-
if (_index5 >= 0) {
|
|
853
|
-
_fileList5.splice(_index5, 1);
|
|
854
|
-
_this3.setState((0, _extends3['default'])({}, _this3.state, { loading: false, fileList: _fileList5 }), function () {
|
|
855
|
-
_this3.setUploadValue(_fileList5);
|
|
856
|
-
});
|
|
857
|
-
}
|
|
858
809
|
}
|
|
859
810
|
});
|
|
860
811
|
};
|
|
861
|
-
// console.log('读取文件', `文件大小:${currentFile.size}`, `已上传大小${
|
|
862
|
-
uploadFileReader.readAsArrayBuffer(blobSlice.call(currentFile,
|
|
812
|
+
// console.log('读取文件', `文件大小:${currentFile.size}`, `已上传大小${start}`, `结束值${end}`, `切片大小${speed}`);
|
|
813
|
+
uploadFileReader.readAsArrayBuffer(blobSlice.call(currentFile, start, end));
|
|
863
814
|
} catch (error) {
|
|
864
815
|
_modal2['default'].error({
|
|
865
816
|
style: { top: '38%' },
|
|
@@ -939,7 +890,8 @@ var _initialiseProps = function _initialiseProps() {
|
|
|
939
890
|
if (sliceIndex < sliceCount) {
|
|
940
891
|
_this3.setState((0, _extends3['default'])({}, _this3.state, {
|
|
941
892
|
preUploading: true,
|
|
942
|
-
preUploadPercent: Number((sliceIndex / sliceCount * 100).toFixed(1))
|
|
893
|
+
preUploadPercent: Number((sliceIndex / sliceCount * 100).toFixed(1))
|
|
894
|
+
}));
|
|
943
895
|
setImmediate(_loadNext, sliceIndex, tempreadFileSize);
|
|
944
896
|
} else {
|
|
945
897
|
var mainFileMD5 = mainFileSpark.end();
|