Browse Source

fix(server): Handle EISDIR error in importer

Michael Bromley 7 years ago
parent
commit
a0c709c130
1 changed files with 11 additions and 7 deletions
  1. 11 7
      server/src/data-import/providers/importer/importer.ts

+ 11 - 7
server/src/data-import/providers/importer/importer.ts

@@ -234,14 +234,18 @@ export class Importer {
                 assets.push(cachedAsset);
             } else {
                 const filename = path.join(importAssetsDir, assetPath);
+
                 if (fs.existsSync(filename)) {
-                    try {
-                        const stream = fs.createReadStream(filename);
-                        const asset = await this.assetService.createFromFileStream(stream);
-                        this.assetMap.set(assetPath, asset);
-                        assets.push(asset);
-                    } catch (err) {
-                        errors.push(err.toString());
+                    const fileStat = fs.statSync(filename);
+                    if (fileStat.isFile()) {
+                        try {
+                            const stream = fs.createReadStream(filename);
+                            const asset = await this.assetService.createFromFileStream(stream);
+                            this.assetMap.set(assetPath, asset);
+                            assets.push(asset);
+                        } catch (err) {
+                            errors.push(err.toString());
+                        }
                     }
                 } else {
                     errors.push(`File "${filename}" does not exist`);