浏览代码

@uppy/core: do not crash if a file is removed before the upload starts (#4148)

Antoine du Hamel 2 年之前
父节点
当前提交
33beeab901

+ 2 - 0
packages/@uppy/aws-s3/src/MiniXHRUpload.js

@@ -287,6 +287,8 @@ export default class MiniXHRUpload {
       }
       }
       const serverToken = await this.#queueRequestSocketToken(file)
       const serverToken = await this.#queueRequestSocketToken(file)
 
 
+      if (this.getState().files[file.id]) return undefined
+
       this.uppy.setFileState(file.id, { serverToken })
       this.uppy.setFileState(file.id, { serverToken })
       return this.connectToServerSocket(this.uppy.getFile(file.id))
       return this.connectToServerSocket(this.uppy.getFile(file.id))
     } catch (err) {
     } catch (err) {

+ 2 - 0
packages/@uppy/tus/src/index.js

@@ -474,6 +474,8 @@ export default class Tus extends BasePlugin {
       }
       }
       const serverToken = await this.#queueRequestSocketToken(file)
       const serverToken = await this.#queueRequestSocketToken(file)
 
 
+      if (this.getState().files[file.id]) return undefined
+
       this.uppy.setFileState(file.id, { serverToken })
       this.uppy.setFileState(file.id, { serverToken })
       return this.connectToServerSocket(this.uppy.getFile(file.id))
       return this.connectToServerSocket(this.uppy.getFile(file.id))
     } catch (err) {
     } catch (err) {

+ 2 - 0
packages/@uppy/xhr-upload/src/index.js

@@ -385,6 +385,8 @@ export default class XHRUpload extends BasePlugin {
       }
       }
       const serverToken = await this.#queueRequestSocketToken(file)
       const serverToken = await this.#queueRequestSocketToken(file)
 
 
+      if (this.getState().files[file.id]) return undefined
+
       this.uppy.setFileState(file.id, { serverToken })
       this.uppy.setFileState(file.id, { serverToken })
       return this.connectToServerSocket(this.uppy.getFile(file.id))
       return this.connectToServerSocket(this.uppy.getFile(file.id))
     } catch (err) {
     } catch (err) {