25 lines
737 B
JavaScript
Raw Normal View History

2022-01-04 19:21:05 +01:00
'use strict';
const { isFunction } = require('lodash/fp');
2023-02-08 15:57:14 +01:00
const {
file: { streamToBuffer },
} = require('@strapi/utils');
2022-01-04 19:21:05 +01:00
module.exports = ({ strapi }) => ({
2022-09-20 15:23:45 +02:00
async checkFileSize(file) {
const { sizeLimit } = strapi.config.get('plugin.upload', {});
await strapi.plugin('upload').provider.checkFileSize(file, { sizeLimit });
2022-09-20 15:23:45 +02:00
},
async upload(file) {
2022-01-04 19:21:05 +01:00
if (isFunction(strapi.plugin('upload').provider.uploadStream)) {
file.stream = file.getStream();
await strapi.plugin('upload').provider.uploadStream(file);
delete file.stream;
} else {
file.buffer = await streamToBuffer(file.getStream());
await strapi.plugin('upload').provider.upload(file);
delete file.buffer;
}
},
});