mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-26 01:26:12 +02:00
fix: closes #13729, fix filename encoding
This commit is contained in:
16
src/middleware/multer.js
Normal file
16
src/middleware/multer.js
Normal file
@@ -0,0 +1,16 @@
|
||||
'use strict';
|
||||
|
||||
const multer = require('multer');
|
||||
const storage = multer.diskStorage({});
|
||||
const upload = multer({ storage,
|
||||
// from https://github.com/TriliumNext/Trilium/pull/3058/files
|
||||
fileFilter: (req, file, cb) => {
|
||||
// UTF-8 file names are not well decoded by multer/busboy, so we handle the conversion on our side.
|
||||
// See https://github.com/expressjs/multer/pull/1102.
|
||||
file.originalname = Buffer.from(file.originalname, 'latin1').toString('utf-8');
|
||||
cb(null, true);
|
||||
}
|
||||
});
|
||||
|
||||
module.exports = upload;
|
||||
|
||||
@@ -85,9 +85,7 @@ function apiRoutes(router, name, middleware, controllers) {
|
||||
router.post(`/api/${name}/manage/categories/:cid/name`, middleware.ensureLoggedIn, helpers.tryRoute(controllers.admin.categories.renameRemote));
|
||||
router.delete(`/api/${name}/manage/categories/:cid`, middleware.ensureLoggedIn, helpers.tryRoute(controllers.admin.categories.removeRemote));
|
||||
|
||||
const multer = require('multer');
|
||||
const storage = multer.diskStorage({});
|
||||
const upload = multer({ storage });
|
||||
const upload = require('../middleware/multer');
|
||||
|
||||
const middlewares = [
|
||||
upload.array('files[]', 20),
|
||||
|
||||
@@ -23,9 +23,7 @@ module.exports = function (app, middleware, controllers) {
|
||||
router.get('/topic/teaser/:topic_id', [...middlewares], helpers.tryRoute(controllers.topics.teaser));
|
||||
router.get('/topic/pagination/:topic_id', [...middlewares], helpers.tryRoute(controllers.topics.pagination));
|
||||
|
||||
const multer = require('multer');
|
||||
const storage = multer.diskStorage({});
|
||||
const upload = multer({ storage });
|
||||
const upload = require('../middleware/multer');
|
||||
|
||||
const postMiddlewares = [
|
||||
middleware.maintenanceMode,
|
||||
|
||||
@@ -154,10 +154,7 @@ Auth.reloadRoutes = async function (params) {
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
const multer = require('multer');
|
||||
const storage = multer.diskStorage({});
|
||||
const upload = multer({ storage });
|
||||
const upload = require('../middleware/multer')
|
||||
const middlewares = [
|
||||
upload.any(),
|
||||
Auth.middleware.applyCSRF,
|
||||
|
||||
@@ -54,9 +54,7 @@ helpers.setupApiRoute = function (...args) {
|
||||
const [router, verb, name] = args;
|
||||
let middlewares = args.length > 4 ? args[args.length - 2] : [];
|
||||
const controller = args[args.length - 1];
|
||||
const multer = require('multer');
|
||||
const storage = multer.diskStorage({});
|
||||
const upload = multer({ storage });
|
||||
const upload = require('../middleware/multer');
|
||||
middlewares = [
|
||||
middleware.autoLocale,
|
||||
middleware.applyBlacklist,
|
||||
|
||||
Reference in New Issue
Block a user