Bladeren bron

Merge pull request #432 from richardwillars/thumbnailGeneration

Adds ability to disable thumbnail generation
Artur Paikin 7 jaren geleden
bovenliggende
commit
ee5abb6946
4 gewijzigde bestanden met toevoegingen van 20 en 4 verwijderingen
  1. 10 3
      src/core/Core.js
  2. 0 0
      src/core/Core.test.js
  3. 0 1
      src/core/Utils.js
  4. 10 0
      src/core/Utils.test.js

+ 10 - 3
src/core/Core.js

@@ -45,7 +45,8 @@ class Uppy {
       meta: {},
       onBeforeFileAdded: (currentFile, files) => Promise.resolve(),
       onBeforeUpload: (files, done) => Promise.resolve(),
-      locale: defaultLocale
+      locale: defaultLocale,
+      thumbnailGeneration: true
     }
 
     // Merge default options with the ones set by user
@@ -394,8 +395,14 @@ class Uppy {
    */
   generatePreview (file) {
     if (Utils.isPreviewSupported(file.type) && !file.isRemote) {
-      Utils.createThumbnail(file, 200).then((thumbnail) => {
-        this.setPreviewURL(file.id, thumbnail)
+      let previewPromise
+      if (this.opts.thumbnailGeneration === true) {
+        previewPromise = Utils.createThumbnail(file, 200)
+      } else {
+        previewPromise = Promise.resolve(URL.createObjectURL(file.data))
+      }
+      previewPromise.then((preview) => {
+        this.setPreviewURL(file.id, preview)
       }).catch((err) => {
         console.warn(err.stack || err.message)
       })

File diff suppressed because it is too large
+ 0 - 0
src/core/Core.test.js


+ 0 - 1
src/core/Utils.js

@@ -217,7 +217,6 @@ function getProportionalHeight (img, width) {
  */
 function createThumbnail (file, targetWidth) {
   const originalUrl = URL.createObjectURL(file.data)
-
   const onload = new Promise((resolve, reject) => {
     const image = new Image()
     image.src = originalUrl

+ 10 - 0
src/core/Utils.test.js

@@ -261,6 +261,16 @@ describe('core/utils', () => {
   })
 
   describe('createThumbnail', () => {
+    const RealCreateObjectUrl = global.URL.createObjectURL
+
+    beforeEach(() => {
+      global.URL.createObjectURL = jest.fn().mockReturnValue('newUrl')
+    })
+
+    afterEach(() => {
+      global.URL.createObjectURL = RealCreateObjectUrl
+    })
+
     xit(
       'should create a thumbnail of the specified image at the specified width',
       () => {}

Some files were not shown because too many files changed in this diff