diff --git a/packages/plugins/file-manager/package.json b/packages/plugins/file-manager/package.json index 4dea0b80f..a42d8a665 100644 --- a/packages/plugins/file-manager/package.json +++ b/packages/plugins/file-manager/package.json @@ -19,6 +19,7 @@ "@nocobase/server": "0.7.0-alpha.15", "aws-sdk": "^2.2.32", "koa-static": "^5.0.0", + "mkdirp": "~0.5.4", "mime-match": "^1.0.2", "multer": "^1.4.2", "multer-aliyun-oss": "1.1.1", diff --git a/packages/plugins/file-manager/src/storages/local.ts b/packages/plugins/file-manager/src/storages/local.ts index 5888328a5..089cdfa98 100644 --- a/packages/plugins/file-manager/src/storages/local.ts +++ b/packages/plugins/file-manager/src/storages/local.ts @@ -1,5 +1,6 @@ import Application from '@nocobase/server'; import serve from 'koa-static'; +import mkdirp from 'mkdirp'; import multer from 'multer'; import path from 'path'; import { URL } from 'url'; @@ -112,7 +113,7 @@ export default { return multer.diskStorage({ destination: function (req, file, cb) { const destPath = path.join(getDocumentRoot(storage), storage.path); - cb(null, destPath); + mkdirp(destPath, (err: Error | null) => cb(err, destPath)); }, filename: getFilename, }); diff --git a/yarn.lock b/yarn.lock index 789ee5e63..c59e9c89c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11106,6 +11106,11 @@ minimist@^1.1.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0, minimist@^1. resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== +minimist@^1.2.6: + version "1.2.6" + resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" + integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== + minipass-collect@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" @@ -11217,6 +11222,13 @@ mkdirp@1.0.4, mkdirp@1.x, mkdirp@^1.0.3, mkdirp@^1.0.4: dependencies: minimist "^1.2.5" +mkdirp@~0.5.4: + version "0.5.6" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + mockjs@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/mockjs/-/mockjs-1.1.0.tgz#e6a0c378e91906dbaff20911cc0273b3c7d75b06"