Images now work for real!

master
Skylar Ittner 3 years ago
parent c055773f67
commit c13b587df5

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

Loading…
Cancel
Save