Bläddra i källkod

xhrupload: Add back the response data event parameter

Renée Kooi 7 år sedan
förälder
incheckning
efe9a0cd3f
3 ändrade filer med 9 tillägg och 9 borttagningar
  1. 1 1
      src/core/Core.js
  2. 2 2
      src/plugins/Tus10.js
  3. 6 6
      src/plugins/XHRUpload.js

+ 1 - 1
src/core/Core.js

@@ -414,7 +414,7 @@ class Uppy {
       throttledCalculateProgress(data)
     })
 
-    this.on('core:upload-success', (fileID, uploadURL) => {
+    this.on('core:upload-success', (fileID, data, uploadURL) => {
       const updatedFiles = Object.assign({}, this.getState().files)
       const updatedFile = Object.assign({}, updatedFiles[fileID], {
         progress: Object.assign({}, updatedFiles[fileID].progress, {

+ 2 - 2
src/plugins/Tus10.js

@@ -140,7 +140,7 @@ module.exports = class Tus10 extends Plugin {
       }
 
       optsTus.onSuccess = () => {
-        this.core.emitter.emit('core:upload-success', file.id, upload.url)
+        this.core.emitter.emit('core:upload-success', file.id, upload, upload.url)
 
         if (upload.url) {
           this.core.log('Download ' + upload.file.name + ' from ' + upload.url)
@@ -240,7 +240,7 @@ module.exports = class Tus10 extends Plugin {
           socket.on('progress', (progressData) => Utils.emitSocketProgress(this, progressData, file))
 
           socket.on('success', (data) => {
-            this.core.emitter.emit('core:upload-success', file.id, data.url)
+            this.core.emitter.emit('core:upload-success', file.id, data, data.url)
             socket.close()
             return resolve()
           })

+ 6 - 6
src/plugins/XHRUpload.js

@@ -17,9 +17,8 @@ module.exports = class XHRUpload extends Plugin {
       responseUrlFieldName: 'url',
       bundle: true,
       headers: {},
-      getUploadUrl (xhr) {
-        const resp = JSON.parse(xhr.response)
-        return resp[this.responseUrlFieldName]
+      getResponseData (xhr) {
+        return JSON.parse(xhr.response)
       }
     }
 
@@ -73,9 +72,10 @@ module.exports = class XHRUpload extends Plugin {
 
       xhr.addEventListener('load', (ev) => {
         if (ev.target.status >= 200 && ev.target.status < 300) {
-          const uploadURL = opts.getUploadUrl(xhr)
+          const resp = opts.getResponseData(xhr)
+          const uploadURL = resp[this.responseUrlFieldName]
 
-          this.core.emitter.emit('core:upload-success', file.id, uploadURL)
+          this.core.emitter.emit('core:upload-success', file.id, resp, uploadURL)
 
           if (uploadURL) {
             this.core.log(`Download ${file.name} from ${file.uploadURL}`)
@@ -156,7 +156,7 @@ module.exports = class XHRUpload extends Plugin {
           socket.on('progress', (progressData) => Utils.emitSocketProgress(this, progressData, file))
 
           socket.on('success', (data) => {
-            this.core.emitter.emit('core:upload-success', file.id, data.url)
+            this.core.emitter.emit('core:upload-success', file.id, data, data.url)
             socket.close()
             return resolve()
           })