Merge pull request #766 from lbryio/addUploadLimitConfig
Add upload limit configurations
This commit is contained in:
commit
e67e4d3ad2
3 changed files with 36 additions and 13 deletions
|
@ -33,7 +33,10 @@
|
||||||
"approvedChannels": [],
|
"approvedChannels": [],
|
||||||
"publishingChannelWhitelist": [],
|
"publishingChannelWhitelist": [],
|
||||||
"channelClaimBidAmount": "0.1",
|
"channelClaimBidAmount": "0.1",
|
||||||
"fileClaimBidAmount": "0.01"
|
"fileClaimBidAmount": "0.01",
|
||||||
|
"maxSizeImage": 10000000,
|
||||||
|
"maxSizeGif": 50000000,
|
||||||
|
"maxSizeVideo": 50000000
|
||||||
},
|
},
|
||||||
"startup": {
|
"startup": {
|
||||||
"performChecks": true,
|
"performChecks": true,
|
||||||
|
|
|
@ -1,3 +1,13 @@
|
||||||
|
import siteConfig from '@config/siteConfig.json';
|
||||||
|
|
||||||
|
const {
|
||||||
|
publishing: {
|
||||||
|
maxSizeImage = 10000000,
|
||||||
|
maxSizeGif = 50000000,
|
||||||
|
maxSizeVideo = 50000000,
|
||||||
|
}
|
||||||
|
} = siteConfig;
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
validateFile (file) {
|
validateFile (file) {
|
||||||
if (!file) {
|
if (!file) {
|
||||||
|
@ -11,18 +21,18 @@ module.exports = {
|
||||||
case 'image/jpeg':
|
case 'image/jpeg':
|
||||||
case 'image/jpg':
|
case 'image/jpg':
|
||||||
case 'image/png':
|
case 'image/png':
|
||||||
if (file.size > 10000000) {
|
if (file.size > maxSizeImage) {
|
||||||
throw new Error('Sorry, images are limited to 10 megabytes.');
|
throw new Error(`Sorry, images are limited to ${maxSizeImage / SIZE_MB} megabytes.`);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'image/gif':
|
case 'image/gif':
|
||||||
if (file.size > 50000000) {
|
if (file.size > maxSizeGif) {
|
||||||
throw new Error('Sorry, GIFs are limited to 50 megabytes.');
|
throw new Error(`Sorry, .gifs are limited to ${maxSizeGif / SIZE_MB} megabytes.`);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'video/mp4':
|
case 'video/mp4':
|
||||||
if (file.size > 50000000) {
|
if (file.size > maxSizeVideo) {
|
||||||
throw new Error('Sorry, videos are limited to 50 megabytes.');
|
throw new Error(`Sorry, videos are limited to ${maxSizeVideo / SIZE_MB} megabytes.`);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -1,26 +1,36 @@
|
||||||
const logger = require('winston');
|
const logger = require('winston');
|
||||||
|
|
||||||
|
const {
|
||||||
|
publishing: {
|
||||||
|
maxSizeImage = 10000000,
|
||||||
|
maxSizeGif = 50000000,
|
||||||
|
maxSizeVideo = 50000000,
|
||||||
|
}
|
||||||
|
} = require('@config/siteConfig');
|
||||||
|
|
||||||
|
const SIZE_MB = 1000000;
|
||||||
|
|
||||||
const validateFileTypeAndSize = (file) => {
|
const validateFileTypeAndSize = (file) => {
|
||||||
// check file type and size
|
// check file type and size
|
||||||
switch (file.type) {
|
switch (file.type) {
|
||||||
case 'image/jpeg':
|
case 'image/jpeg':
|
||||||
case 'image/jpg':
|
case 'image/jpg':
|
||||||
case 'image/png':
|
case 'image/png':
|
||||||
if (file.size > 10000000) {
|
if (file.size > maxSizeImage) {
|
||||||
logger.debug('publish > file validation > .jpeg/.jpg/.png was too big');
|
logger.debug('publish > file validation > .jpeg/.jpg/.png was too big');
|
||||||
throw new Error('Sorry, images are limited to 10 megabytes.');
|
throw new Error(`Sorry, images are limited to ${maxSizeImage / SIZE_MB} megabytes.`);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'image/gif':
|
case 'image/gif':
|
||||||
if (file.size > 50000000) {
|
if (file.size > maxSizeGif) {
|
||||||
logger.debug('publish > file validation > .gif was too big');
|
logger.debug('publish > file validation > .gif was too big');
|
||||||
throw new Error('Sorry, .gifs are limited to 50 megabytes.');
|
throw new Error(`Sorry, .gifs are limited to ${maxSizeGif / SIZE_MB} megabytes.`);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'video/mp4':
|
case 'video/mp4':
|
||||||
if (file.size > 50000000) {
|
if (file.size > maxSizeVideo) {
|
||||||
logger.debug('publish > file validation > .mp4 was too big');
|
logger.debug('publish > file validation > .mp4 was too big');
|
||||||
throw new Error('Sorry, videos are limited to 50 megabytes.');
|
throw new Error(`Sorry, videos are limited to ${maxSizeVideo / SIZE_MB} megabytes.`);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
Loading…
Reference in a new issue