Images now work for real!

This commit is contained in:
Skylar Ittner 2021-06-14 17:29:34 -06:00
parent c055773f67
commit c13b587df5

45
main.js
View File

@ -17,12 +17,11 @@ import { dirname }
from 'path'; from 'path';
import request from 'request'; import request from 'request';
import FileType from 'file-type'; import FileType from 'file-type';
import readChunk from 'read-chunk';
// Load settings from config.json // Load settings from config.json
const __filename = fileURLToPath(import.meta.url); const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename); const __dirname = dirname(__filename);
let rawdata = fs.readFileSync(__dirname + '/config.json'); let rawdata = fs.readFileSync(__dirname + '/config.json');
let settings = JSON.parse(rawdata); let settings = JSON.parse(rawdata);
console.log(__dirname + "/config.json loaded."); console.log(__dirname + "/config.json loaded.");
@ -130,26 +129,28 @@ function getAndUploadFile(url, callback) {
logger.info("Downloading MMS media " + url); logger.info("Downloading MMS media " + url);
// download // download
request({url, encoding: null}, (err, resp, buffer) => { request({url, encoding: null}, (err, resp, buffer) => {
const buffer = readChunk.sync(buffer, 0, 4100); FileType.fromBuffer(buffer).then(function (mimeobj) {
var mimetype = (await FileType.fromBuffer(buffer)).mime; logger.debug(mimeobj);
// upload // upload
logger.info("Uploading MMS media to Matrix " + url); logger.info("Uploading MMS media to Matrix " + url);
client.uploadContent(buffer, { client.uploadContent(buffer, {
onlyContentUri: true, onlyContentUri: true,
rawResponse: false rawResponse: false,
}).then((res) => { type: mimeobj.mime
if (typeof callback == "function") { }).then((res) => {
callback(res, mimetype); if (typeof callback == "function") {
logger.info("Media URI: " + res); callback(res, mimeobj.mime);
} logger.info("Media URI: " + res);
}).catch((err) => { }
if (typeof callback == "function") { }).catch((err) => {
callback(false); if (typeof callback == "function") {
} callback(false);
if (err.data.error == "Unknown room") { }
return; if (err.data.error == "Unknown room") {
} return;
logger.error(err); }
logger.error(err);
});
}); });
}); });
} }