Browse Source

Better `generateFileID`

Fixes #317
Artur Paikin 7 years ago
parent
commit
bd8345a166
1 changed files with 13 additions and 7 deletions
  1. 13 7
      src/core/Utils.js

+ 13 - 7
src/core/Utils.js

@@ -107,17 +107,23 @@ function toArray (list) {
 }
 
 /**
- * Takes a fileName and turns it into fileID, by converting to lowercase,
- * removing extra characters and adding unix timestamp
+ * Takes a file object and turns it into fileID, by converting file.name to lowercase,
+ * removing extra characters and adding type, size and lastModified
  *
- * @param {String} fileName
+ * @param {Object} file
+ * @return {String} the fileID
  *
  */
 function generateFileID (file) {
-  let fileID = file.name.toLowerCase()
-  fileID = fileID.replace(/[^A-Z0-9]/ig, '')
-  fileID = fileID + file.data.lastModified
-  return fileID
+  // filter is needed to not join empty values with `-`
+  return [
+    'uppy',
+    file.name ? file.name.toLowerCase().replace(/[^A-Z0-9]/ig, '') : '',
+    file.type,
+    file.hui,
+    file.data.size,
+    file.data.lastModified
+  ].filter(val => val).join('-')
 }
 
 function extend (...objs) {