@@ -34,16 +34,17 @@ import axios from 'axios'
34
34
import {
35
35
findFile ,
36
36
breakpointContinueFinish ,
37
- removeChunk
37
+ removeChunk ,
38
+ breakpointContinue
38
39
} from ' @/api/breakpoint'
39
- import { ref } from ' vue'
40
+ import { computed , ref , watch } from ' vue'
40
41
import { ElMessage } from ' element-plus'
41
42
42
43
const file = ref (null )
43
44
const fileMd5 = ref (' ' )
44
45
const formDataList = ref ([])
45
46
const waitUpLoad = ref ([])
46
- const waitNum = ref (0 )
47
+ const waitNum = ref (NaN )
47
48
const limitFileSize = ref (false )
48
49
const percentage = ref (0 )
49
50
const percentageFlage = ref (true )
@@ -100,8 +101,10 @@ const choseFile = async(e) => {
100
101
})
101
102
} else {
102
103
waitUpLoad .value = [] // 秒传则没有需要上传的切片
104
+ ElMessage .success (" 文件已秒传" )
103
105
}
104
106
waitNum .value = waitUpLoad .value .length // 记录长度用于百分比展示
107
+ console .log (waitNum .value )
105
108
}
106
109
} else {
107
110
limitFileSize .value = true
@@ -115,7 +118,6 @@ const getFile = () => {
115
118
ElMessage (' 请先上传文件' )
116
119
return
117
120
}
118
- percentage .value = Math .floor (((formDataList .value .length - waitNum .value ) / formDataList .value .length ) * 100 )
119
121
if (percentage .value === 100 ) {
120
122
percentageFlage .value = false
121
123
}
@@ -139,9 +141,14 @@ const sliceFile = () => {
139
141
})
140
142
}
141
143
144
+ watch (waitNum,()=> {percentage .value = Math .floor (((formDataList .value .length - waitNum .value ) / formDataList .value .length ) * 100 )})
145
+
142
146
const upLoadFileSlice = async (item) => {
143
147
// 切片上传
144
- await axios .post (import .meta.env.VITE_BASE_API + ' /fileUploadAndDownload/breakpointContinue' , item.formData)
148
+ const fileRe = await breakpointContinue (item .formData )
149
+ if (fileRe .code !== 0 ) {
150
+ return
151
+ }
145
152
waitNum .value -- // 百分数增加
146
153
if (waitNum .value === 0 ) {
147
154
// 切片传完以后 合成文件
@@ -150,13 +157,12 @@ const upLoadFileSlice = async(item) => {
150
157
fileMd5: fileMd5 .value
151
158
}
152
159
const res = await breakpointContinueFinish (params)
153
- if (res .success ) {
160
+ if (res .code === 0 ) {
154
161
// 合成文件过后 删除缓存切片
155
162
const params = {
156
- fileName: file .value .name ,
157
163
fileMd5: fileMd5 .value ,
158
- filePath: res .data .filePath
159
164
}
165
+ ElMessage .success (上传成功)
160
166
await removeChunk (params)
161
167
}
162
168
}
@@ -171,15 +177,7 @@ const inputChange = () => {
171
177
<script >
172
178
173
179
export default {
174
- name: ' BreakPoint' ,
175
- data () {
176
- return {
177
-
178
- }
179
- },
180
- methods: {
181
-
182
- }
180
+ name: ' BreakPoint'
183
181
}
184
182
</script >
185
183
0 commit comments