Selaa lähdekoodia

add fallback/catch for getArrayBuffer, svg+xml for svg

Artur Paikin 7 vuotta sitten
vanhempi
commit
0d6215813a
2 muutettua tiedostoa jossa 13 lisäystä ja 14 poistoa
  1. 0 4
      src/core/Core.js
  2. 13 10
      src/core/Utils.js

+ 0 - 4
src/core/Core.js

@@ -188,10 +188,6 @@ class Uppy {
       this.bus.emit('file-added', fileID)
       this.log(`Added file: ${fileName}, ${fileID}, mime type: ${fileType}`)
 
-      if (!fileType) {
-        console.log('well, yeah, file type is fucking empty')
-      }
-
       if (this.opts.autoProceed && !this.scheduledAutoProceed) {
         this.scheduledAutoProceed = setTimeout(() => {
           this.scheduledAutoProceed = null

+ 13 - 10
src/core/Utils.js

@@ -148,7 +148,7 @@ function runPromiseSequence (functions, ...args) {
 
 function isPreviewReady (fileTypeSpecific) {
   // list of images that browsers can preview
-  if (/^(jpeg|gif|png|svg|bmp)$/.test(fileTypeSpecific)) {
+  if (/^(jpeg|gif|png|svg|svg\+xml|bmp)$/.test(fileTypeSpecific)) {
     return true
   }
   return false
@@ -172,21 +172,24 @@ function getArrayBuffer (file) {
 }
 
 function getFileType (file) {
+  const emptyFileType = ['', '']
   if (file.type) {
     return Promise.resolve(file.type.split('/'))
   }
 
-  return getArrayBuffer(file).then((buffer) => {
-    const type = fileType(buffer)
-    if (type && type.mime) {
-      return type.mime.split('/')
-    }
-    return ['', '']
-  })
-
+  return getArrayBuffer(file)
+    .then((buffer) => {
+      const type = fileType(buffer)
+      if (type && type.mime) {
+        return type.mime.split('/')
+      }
+      return emptyFileType
+    })
+    .catch(() => {
+      return emptyFileType
+    })
   // return mime.lookup(file.name)
   // return file.type ? file.type.split('/') : ['', '']
-  // return mime.lookup(file.name)
 }
 
 // TODO Check which types are actually supported in browsers. Chrome likes webm