मैं Express.js और Multer का उपयोग कर एक HTML फ़ॉर्म से फ़ाइल अपलोड करने का प्रयास कर रहा हूं। मैंने फ़ाइल को वांछित स्थान पर सहेजने में कामयाब रहा है (नामक फ़ोल्डर अपलोड करता है)।Multer का उपयोग कर अपलोड की गई फ़ाइल का नाम बदलना (Express.js)
5257ee6b035926ca99923297c224a1bb
हेक्साडेसिमल समय स्टाम्प हो सकता है:
हालांकि, मैं थोड़ी देर है, क्योंकि यह अपलोड करने डिफ़ॉल्ट रूप से फ़ाइल का नाम बदलें करना चाहते हैं, Multer यह इस तरह के रूप में एक अजीब नाम देता है या तो मुझे बाद में एक स्क्रिप्ट कॉल करने के लिए मुझे एक और स्पष्ट नाम की आवश्यकता है।
मैंने here को स्पष्टीकरण का पालन किया है, लेकिन यह हेक्सा नाम के साथ फ़ाइल अपलोड करने से कहीं अधिक कुछ नहीं करता है।
इसके अलावा, दो घटनाओं onFileUploadStart और onFileUploadComplete ट्रिगर किए जाने वाले के रूप में मैं करने के लिए कुछ भी मेरे कंसोल में लॉग इन नहीं है कभी नहीं लग रहे हैं।
मैं सर्वर के लिए दो अलग-अलग फ़ाइलों और मार्ग का उपयोग कर रहा:
app.js
/**
* Dependencies
*/
var express = require('express');
var path = require('path');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
/**
* Importation of routes
*/
var routes = require('./routes/index');
var recog = require('./routes/recog');
/**
* Express
*/
var app = express();
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
// pour contrer les erreurs de cross domain
app.use(function (req, res, next) {
// Website you wish to allow to connect
res.setHeader('Access-Control-Allow-Origin', '*');
// Request methods you wish to allow
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE');
// Request headers you wish to allow
res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');
// Set to true if you need the website to include cookies in the requests sent
// to the API (e.g. in case you use sessions)
res.setHeader('Access-Control-Allow-Credentials', true);
// Pass to next layer of middleware
next();
});
/**
* Routes
*/
app.use('/', routes);
app.use('/recog', recog);
module.exports = app;
recog.js
/**
* Requirements
*/
var express = require('express');
var router = express.Router();
var multer = require('multer');
var uploads = multer({
dest: 'uploads/',
rename: function (fieldname, filename) {
console.log("Rename...");
return filename + Date.now();
},
onFileUploadStart: function() {
console.log("Upload is starting...");
},
onFileUploadComplete: function() {
console.log("File uploaded");
}
});
/**
* Upload d'une image
*/
router.post('/upload', uploads.single('image'), function (req, res, next) {
console.log("Front-end is calling");
res.json({status: 'success', data: 'Fichier chargé.\nOrgane sélectionné : ' + req.body.organ});
});
module.exports = router;
मैं हा मैं चारों ओर खुदाई कर रहा हूं लेकिन मुझे पता नहीं चल रहा है कि समस्या क्या है क्योंकि मैं सामान्य रूप से Node.js और जावास्क्रिप्ट के लिए काफी नया हूं।
आपकी मदद लोगों के लिए धन्यवाद!
बिल्कुल आपका धन्यवाद! –