mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2024-11-29 08:44:31 -05:00
support filesystem image upload
This commit is contained in:
parent
81b368c11c
commit
a5dad29300
2 changed files with 31 additions and 13 deletions
38
app.js
38
app.js
|
@ -405,6 +405,7 @@ app.get('/me', function (req, res) {
|
||||||
//upload to imgur
|
//upload to imgur
|
||||||
app.post('/uploadimage', function (req, res) {
|
app.post('/uploadimage', function (req, res) {
|
||||||
var form = new formidable.IncomingForm();
|
var form = new formidable.IncomingForm();
|
||||||
|
|
||||||
form.uploadDir = "public/uploads";
|
form.uploadDir = "public/uploads";
|
||||||
form.keepExtensions = true;
|
form.keepExtensions = true;
|
||||||
|
|
||||||
|
@ -414,20 +415,33 @@ app.post('/uploadimage', function (req, res) {
|
||||||
} else {
|
} else {
|
||||||
if (config.debug)
|
if (config.debug)
|
||||||
logger.info('SERVER received uploadimage: ' + JSON.stringify(files.image));
|
logger.info('SERVER received uploadimage: ' + JSON.stringify(files.image));
|
||||||
imgur.setClientId(config.imgur.clientID);
|
|
||||||
try {
|
try {
|
||||||
imgur.uploadFile(files.image.path)
|
switch (config.imageUploadType) {
|
||||||
.then(function (json) {
|
case 'filesystem':
|
||||||
if (config.debug)
|
res.send({
|
||||||
logger.info('SERVER uploadimage success: ' + JSON.stringify(json));
|
link: files.image.path.match(/^public(.+$)/)[1]
|
||||||
res.send({
|
|
||||||
link: json.data.link.replace(/^http:\/\//i, 'https://')
|
|
||||||
});
|
|
||||||
})
|
|
||||||
.catch(function (err) {
|
|
||||||
logger.error(err);
|
|
||||||
return res.status(500).end('upload image error');
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'imgur':
|
||||||
|
default:
|
||||||
|
imgur.setClientId(config.imgur.clientID);
|
||||||
|
imgur.uploadFile(files.image.path)
|
||||||
|
.then(function (json) {
|
||||||
|
if (config.debug)
|
||||||
|
logger.info('SERVER uploadimage success: ' + JSON.stringify(json));
|
||||||
|
res.send({
|
||||||
|
link: json.data.link.replace(/^http:\/\//i, 'https://')
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.catch(function (err) {
|
||||||
|
logger.error(err);
|
||||||
|
return res.status(500).end('upload image error');
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
logger.error(err);
|
logger.error(err);
|
||||||
return res.status(500).end('upload image error');
|
return res.status(500).end('upload image error');
|
||||||
|
|
|
@ -56,6 +56,9 @@ var heartbeattimeout = config.heartbeattimeout || 10000;
|
||||||
// document
|
// document
|
||||||
var documentmaxlength = config.documentmaxlength || 100000;
|
var documentmaxlength = config.documentmaxlength || 100000;
|
||||||
|
|
||||||
|
// image upload setting, available options are imgur/s3/filesystem
|
||||||
|
var imageUploadType = config.imageUploadType || 'imgur';
|
||||||
|
|
||||||
// auth
|
// auth
|
||||||
var facebook = (process.env.HMD_FACEBOOK_CLIENTID && process.env.HMD_FACEBOOK_CLIENTSECRET) ? {
|
var facebook = (process.env.HMD_FACEBOOK_CLIENTID && process.env.HMD_FACEBOOK_CLIENTSECRET) ? {
|
||||||
clientID: process.env.HMD_FACEBOOK_CLIENTID,
|
clientID: process.env.HMD_FACEBOOK_CLIENTID,
|
||||||
|
@ -139,5 +142,6 @@ module.exports = {
|
||||||
gitlab: gitlab,
|
gitlab: gitlab,
|
||||||
dropbox: dropbox,
|
dropbox: dropbox,
|
||||||
google: google,
|
google: google,
|
||||||
imgur: imgur
|
imgur: imgur,
|
||||||
|
imageUploadType: imageUploadType
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue