mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-28 17:46:16 +01: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.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));
|
router.delete(`/api/${name}/manage/categories/:cid`, middleware.ensureLoggedIn, helpers.tryRoute(controllers.admin.categories.removeRemote));
|
||||||
|
|
||||||
const multer = require('multer');
|
const upload = require('../middleware/multer');
|
||||||
const storage = multer.diskStorage({});
|
|
||||||
const upload = multer({ storage });
|
|
||||||
|
|
||||||
const middlewares = [
|
const middlewares = [
|
||||||
upload.array('files[]', 20),
|
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/teaser/:topic_id', [...middlewares], helpers.tryRoute(controllers.topics.teaser));
|
||||||
router.get('/topic/pagination/:topic_id', [...middlewares], helpers.tryRoute(controllers.topics.pagination));
|
router.get('/topic/pagination/:topic_id', [...middlewares], helpers.tryRoute(controllers.topics.pagination));
|
||||||
|
|
||||||
const multer = require('multer');
|
const upload = require('../middleware/multer');
|
||||||
const storage = multer.diskStorage({});
|
|
||||||
const upload = multer({ storage });
|
|
||||||
|
|
||||||
const postMiddlewares = [
|
const postMiddlewares = [
|
||||||
middleware.maintenanceMode,
|
middleware.maintenanceMode,
|
||||||
|
|||||||
@@ -154,10 +154,7 @@ Auth.reloadRoutes = async function (params) {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const upload = require('../middleware/multer')
|
||||||
const multer = require('multer');
|
|
||||||
const storage = multer.diskStorage({});
|
|
||||||
const upload = multer({ storage });
|
|
||||||
const middlewares = [
|
const middlewares = [
|
||||||
upload.any(),
|
upload.any(),
|
||||||
Auth.middleware.applyCSRF,
|
Auth.middleware.applyCSRF,
|
||||||
|
|||||||
@@ -54,9 +54,7 @@ helpers.setupApiRoute = function (...args) {
|
|||||||
const [router, verb, name] = args;
|
const [router, verb, name] = args;
|
||||||
let middlewares = args.length > 4 ? args[args.length - 2] : [];
|
let middlewares = args.length > 4 ? args[args.length - 2] : [];
|
||||||
const controller = args[args.length - 1];
|
const controller = args[args.length - 1];
|
||||||
const multer = require('multer');
|
const upload = require('../middleware/multer');
|
||||||
const storage = multer.diskStorage({});
|
|
||||||
const upload = multer({ storage });
|
|
||||||
middlewares = [
|
middlewares = [
|
||||||
middleware.autoLocale,
|
middleware.autoLocale,
|
||||||
middleware.applyBlacklist,
|
middleware.applyBlacklist,
|
||||||
|
|||||||
Reference in New Issue
Block a user