mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-16 11:33:30 +01:00
fix(dataresolver): ensure fetched file is convert to a buffer (#7457)
Co-authored-by: SpaceEEC <spaceeec@yahoo.com>
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const { Buffer } = require('node:buffer');
|
const { Buffer } = require('node:buffer');
|
||||||
const fs = require('node:fs');
|
const fs = require('node:fs/promises');
|
||||||
const path = require('node:path');
|
const path = require('node:path');
|
||||||
const stream = require('node:stream');
|
const stream = require('node:stream');
|
||||||
const fetch = require('node-fetch');
|
const fetch = require('node-fetch');
|
||||||
@@ -67,7 +67,7 @@ class DataResolver extends null {
|
|||||||
return image;
|
return image;
|
||||||
}
|
}
|
||||||
const file = await this.resolveFile(image);
|
const file = await this.resolveFile(image);
|
||||||
return DataResolver.resolveBase64(file);
|
return this.resolveBase64(file);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -118,17 +118,14 @@ class DataResolver extends null {
|
|||||||
if (typeof resource === 'string') {
|
if (typeof resource === 'string') {
|
||||||
if (/^https?:\/\//.test(resource)) {
|
if (/^https?:\/\//.test(resource)) {
|
||||||
const res = await fetch(resource);
|
const res = await fetch(resource);
|
||||||
return res.body;
|
return res.buffer();
|
||||||
}
|
}
|
||||||
|
|
||||||
return new Promise((resolve, reject) => {
|
const file = path.resolve(resource);
|
||||||
const file = path.resolve(resource);
|
|
||||||
fs.stat(file, (err, stats) => {
|
const stats = await fs.stat(file);
|
||||||
if (err) return reject(err);
|
if (!stats.isFile()) throw new DiscordError('FILE_NOT_FOUND', file);
|
||||||
if (!stats.isFile()) return reject(new DiscordError('FILE_NOT_FOUND', file));
|
return fs.readFile(file);
|
||||||
return resolve(fs.createReadStream(file));
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
throw new TypeError('REQ_RESOURCE_TYPE');
|
throw new TypeError('REQ_RESOURCE_TYPE');
|
||||||
|
|||||||
Reference in New Issue
Block a user