mirror of
https://github.com/hexastack/hexabot
synced 2025-02-22 20:38:32 +00:00
refactor: multer upload middleware
This commit is contained in:
parent
8955ec38f0
commit
a0f2701e3e
@ -64,6 +64,20 @@ import { WEB_CHANNEL_NAME, WEB_CHANNEL_NAMESPACE } from './settings';
|
|||||||
import { Web } from './types';
|
import { Web } from './types';
|
||||||
import WebEventWrapper from './wrapper';
|
import WebEventWrapper from './wrapper';
|
||||||
|
|
||||||
|
// Handle multipart uploads (Long Pooling only)
|
||||||
|
const upload = multer({
|
||||||
|
limits: {
|
||||||
|
fileSize: config.parameters.maxUploadSize,
|
||||||
|
},
|
||||||
|
storage: (() => {
|
||||||
|
if (config.parameters.storageMode === 'memory') {
|
||||||
|
return memoryStorage();
|
||||||
|
} else {
|
||||||
|
return diskStorage({});
|
||||||
|
}
|
||||||
|
})(),
|
||||||
|
}).single('file'); // 'file' is the field name in the form
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export default abstract class BaseWebChannelHandler<
|
export default abstract class BaseWebChannelHandler<
|
||||||
N extends ChannelName,
|
N extends ChannelName,
|
||||||
@ -1313,19 +1327,6 @@ export default abstract class BaseWebChannelHandler<
|
|||||||
if (!this.isSocketRequest(req)) {
|
if (!this.isSocketRequest(req)) {
|
||||||
if (req.headers['content-type']?.includes('multipart/form-data')) {
|
if (req.headers['content-type']?.includes('multipart/form-data')) {
|
||||||
// Handle multipart uploads (Long Pooling only)
|
// Handle multipart uploads (Long Pooling only)
|
||||||
const upload = multer({
|
|
||||||
limits: {
|
|
||||||
fileSize: config.parameters.maxUploadSize,
|
|
||||||
},
|
|
||||||
storage: (() => {
|
|
||||||
if (config.parameters.storageMode === 'memory') {
|
|
||||||
return memoryStorage();
|
|
||||||
} else {
|
|
||||||
return diskStorage({});
|
|
||||||
}
|
|
||||||
})(),
|
|
||||||
}).single('file'); // 'file' is the field name in the form
|
|
||||||
|
|
||||||
return upload(req, res, next);
|
return upload(req, res, next);
|
||||||
} else if (req.headers['content-type']?.includes('text/plain')) {
|
} else if (req.headers['content-type']?.includes('text/plain')) {
|
||||||
// Handle plain text payloads as JSON (retro-compability)
|
// Handle plain text payloads as JSON (retro-compability)
|
||||||
|
Loading…
Reference in New Issue
Block a user