J'utilise multer
dans node.js
pour télécharger des fichiers (provenant d'un projet client basé sur Angular) sur mon serveur Heroku. Tout fonctionne correctement, mais lorsque le serveur Heroku redémarre ou tombe en panne, tous les fichiers téléchargés disparaissent, le URL hits
renvoie 'Not Found
'.Les fichiers téléchargés avec multer disparaissent lorsque le serveur heroku redémarre
Ceci est mon code pour télécharger des fichiers:
var express = require('express');
var router = express.Router();
var mysql = require('mysql');
var multer = require('multer');
var pool = require('./dbconnection');
var storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, '/app/public/images/postImages/')
},
filename: function (req, file, cb) {
cb(null, file.fieldname + '-' + Date.now()+'.jpg')
}
})
var upload = multer({ storage: storage })
router.post('/postImages', upload.single('image'), function(req, res) {
var userId = req.body.userId;
var postTitle = req.body.postTitle;
var postDesc = req.body.postDesc;
var postLat = req.body.postLat;
var postLng = req.body.postLng;
var postMediaType = req.body.postMediaType;
var postMediaFileName = req.file.filename;
var postMediaFilePath = req.file.destination;
var postMediaFileURL = req.file.path;
postMediaFileURL = postMediaFileURL.substring(postMediaFileURL.indexOf('images/'), postMediaFileURL.length);
var inserts = [postTitle, postDesc, postLat, postLng, postMediaType, postMediaFileName, postMediaFilePath, postMediaFileURL, userId];
var sql = "INSERT INTO posts (postTitle, postDesc, postLat, postLng, postMediaType, postMediaFileName, postMediaFilePath, postMediaFileURL, userId) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)";
sql = mysql.format(sql, inserts);
console.log(sql);
pool.getConnection(function(err, connection) {
connection.query(sql, function(error, results) {
connection.release();
res.json(results);
if(error) throw error;
});
});
});
module.exports = router;
Dites-moi ce que je manque ou ce que je fais mal.
Veuillez lire [Dans quelles circonstances puis-je ajouter "urgent" ou d'autres expressions similaires à ma question, afin d'obtenir des réponses plus rapides?] (// meta.stackoverflow.com/q/326569) - le résumé est que cette Ce n'est pas un moyen idéal de s'adresser aux bénévoles, et il est probablement contreproductif d'obtenir des réponses. Merci de ne pas ajouter ceci à vos questions. – halfer
merci, je vais garder à l'esprit la prochaine fois :) –