У меня проблема с загрузкой изображений с помощью Cloudinary API.
У меня приложение работает на Heroku.Я использую Node для своего бэкэнда.Приложение работает нормально, пока пользователь не попытается опубликовать изображение.Затем я получаю следующее сообщение об ошибке:
Неверная подпись ****************************************.Строка для подписи - 'timestamp = **********.
Я использовал ту же настройку в другом приложении, и она отлично работает.Я следовал за некоторыми потоками переполнения стека по этой проблеме, но я не получаю полезного ответа, который я понимаю.
Я настроил переменные среды в Heroku так же, как и в другом приложении,и это работает.Я также установил пакеты Cloudinary и Multer в свой файл package.json.
Есть идеи, что я здесь не так делаю?
Ниже приведен мой код:
var multer = require('multer');
var storage = multer.diskStorage({
filename: function(req, file, callback) {
callback(null, Date.now() + file.originalname);
}
});
var imageFilter = function (req, file, cb) {
// accept image files only
if (!file.originalname.match(/\.(jpg|jpeg|png|gif)$/i)) {
return cb(new Error('Only image files are allowed!'), false);
}
cb(null, true);
};
var upload = multer({ storage: storage, fileFilter: imageFilter});
var cloudinary = require('cloudinary');
cloudinary.config({
cloud_name: 'digi9mjbp',
api_key: process.env.CLOUDINARY_API_KEY,
api_secret: process.env.CLOUDINARY_API_SECRET
})
router.post("/", middleware.isLoggedIn, upload.single('image'),
function(req, res) {
cloudinary.v2.uploader.upload(req.file.path, function(err,result){
if(err){
req.flash("error", err.message);
return res.redirect("back");
}
// add cloudinary url for the image to the topic object under image
property
req.body.topic.image = result.secure_url;
//add image's public_id to topic object
req.body.topic.imageId = result.public_id;
// add author to topic
req.body.topic.author = {
id: req.user._id,
username: req.user.username
};
Topic.create(req.body.topic, function(err, topic){
if (err) {
req.flash('error', err.message);
return res.redirect('back');
}
res.redirect('/topics/' + topic.id);
});
});
});