node.js - ralat 500 dilaporkan pada multer v1.3.0
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-07-06 10:34:13
0
2
1151

Saya menggunakan rangka kerja ekspres dan cuba menggunakan multer middleware untuk memuat naik Ternyata muat naik yang paling asas ialah
var upload = multer({ dest: 'uploads/' }), tetapi saya mendapati tiada fail yang dimuat naik. di sana. Rentetan rawak nama akhiran 16 digit Keperluan saya adalah untuk menyeragamkan penamaan fail, jadi saya menggunakan multer.diskStorage untuk melakukan lebih banyak operasi pada fail Berikut ialah kod saya:
`var express = require('express') ;
var penghala = express.Router();
var multer = memerlukan('multer');

//Tetapkan laluan simpan
//var upload = multer({ dest: 'uploads/' })

/ DAPATKAN halaman utama /
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});

storan var = multer.diskStorage({

destination: function (req, file, cb) {
    cb(null, '/uploads');
},
filename: function (req, file, cb) {
    cb(null, file.fieldname+"-"+Date.now());
}

});

var upload = multer({ storage: storage });

router.post('/upload', upload.single('image')), function(req, res, next){

var image=req.file.path;
res.send('index', { title : 'Express' ,image:image});

}

module.exports = penghala;
`
Saya rasa ini sepatutnya demo yang paling asas, tetapi ia hanya melaporkan ralat 500 adalah seperti berikut:

POST /upload 500 16.841 ms - 1278
Error: Failed to lookup view "error" in views directory "D:\wx_bandu\views"
    at EventEmitter.render (D:\wx_bandu\node_modules\._express@4.15.3@express\lib\application.js:580:17)
    at ServerResponse.render (D:\wx_bandu\node_modules\._express@4.15.3@express\lib\response.js:971:7)
    at D:\wx_bandu\app.js:45:7
    at Layer.handle_error (D:\wx_bandu\node_modules\._express@4.15.3@express\lib\router\layer.js:71:5)
    at trim_prefix (D:\wx_bandu\node_modules\._express@4.15.3@express\lib\router\index.js:315:13)
    at D:\wx_bandu\node_modules\._express@4.15.3@express\lib\router\index.js:284:7
    at Function.process_params (D:\wx_bandu\node_modules\._express@4.15.3@express\lib\router\index.js:335:12)
    at next (D:\wx_bandu\node_modules\._express@4.15.3@express\lib\router\index.js:275:10)
    at Layer.handle_error (D:\wx_bandu\node_modules\._express@4.15.3@express\lib\router\layer.js:67:12)
    at trim_prefix (D:\wx_bandu\node_modules\._express@4.15.3@express\lib\router\index.js:315:13)

Saya membaca banyak maklumat di Internet dan juga di github, tetapi saya rasa saya tidak dapat mencari sebabnya Tolong beri saya panduan

曾经蜡笔没有小新
曾经蜡笔没有小新

membalas semua(2)
我想大声告诉你

500 ialah ralat pelayan, baris 45 app.js salah, res.send('index', { title : 'Express' ,image:image});, adakah anda akan memindahkan fail ke penyemak imbas?

習慣沉默

Selepas mengerjakannya untuk masa yang lama, ralat lalai.jed tidak dapat dipaparkan kerana saya menggunakan templat pug dan kemudiannya menukarnya Ralat itu jelas sekali imbas Laluan yang ditetapkan oleh destinasi bermula dari direktori akar cakera keras Sebagai contoh, saya menulis / muat naik, Laluan storan ialah D://uploads Kerana tidak ada folder sedemikian, ia terus melaporkan ralat dan ia akan menjadi baik

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan