[英]I can't figure out why I'm getting a ReferenceError: fileUploaded is not defined
Hi this is my first post!嗨,这是我的第一篇文章! Here's the error I'm throwing when trying to submit a post on a website I'm making!
这是我尝试在我正在制作的网站上提交帖子时抛出的错误! This is the error and line 36 is where i call sharp(fileUploaded): C:\Users\tester\OneDrive\Desktop\project-user\application\routes\posts.js:36 sharp(fileUploaded) ^ enter image description here
这是错误,第 36 行是我调用 sharp(fileUploaded) 的位置:C:\Users\tester\OneDrive\Desktop\project-user\application\routes\posts.js:36 sharp(fileUploaded) ^在此处输入图像描述
ReferenceError: fileUploaded is not defined at Object. ReferenceError:fileUploaded 未在 Object 中定义。 (C:\Users\xxwaz\OneDrive\Desktop\csc317-termproject-dmoorhatch\application\routes\posts.js:36:7) at Module._compile (node:internal/modules/cjs/loader:1103:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1157:10) at Module.load (node:internal/modules/cjs/loader:981:32) at Function.Module._load (node:internal/modules/cjs/loader:822:12) at Module.require (node:internal/modules/cjs/loader:1005:19) at require (node:internal/modules/cjs/helpers:102:18) at Object.
(C:\Users\xxwaz\OneDrive\Desktop\csc317-termproject-dmoorhatch\application\routes\posts.js:36:7) 在 Module._compile (node:internal/modules/cjs/loader:1103:14) 在Object.Module._extensions..js (node:internal/modules/cjs/loader:1157:10) 在 Module.load (node:internal/modules/cjs/loader:981:32) 在 Function.Module._load (node :internal/modules/cjs/loader:822:12) 在 Module.require (node:internal/modules/cjs/loader:1005:19) 在 require (node:internal/modules/cjs/helpers:102:18) 在目的。 (C:\Users\xxwaz\OneDrive\Desktop\csc317-termproject-dmoorhatch\application\app.js:10:21) at Module._compile (node:internal/modules/cjs/loader:1103:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1157:10)
(C:\Users\xxwaz\OneDrive\Desktop\csc317-termproject-dmoorhatch\application\app.js:10:21) 在 Module._compile (node:internal/modules/cjs/loader:1103:14) 在 Object. Module._extensions..js (node:internal/modules/cjs/loader:1157:10)
var express = require('express');
var router = express.Router();
var db = require('../config/database');
const { errorPrint, successPrint } = require('../helpers/debug/debugprinters');
var sharp = require('sharp');
var multer = require('multer');
var crypto = require('crypto');
const { syncBuiltinESMExports } = require('module');
const { request } = require('http');
const { registerValidator } = require('../middleware/validation');
var storage = multer.diskStorage({
destination: function(req, file, cb){
cb(null, "public/images/uploads");
},
filename: function(req, file, cb){
let fileExt = file.mimetype.split('/')[1];
let randomName = crypto.randomBytes(22).toString("hex");
cb(null, `${randomName}.${fileExt}`);
}
});
var uploader = multer({storage: storage});
router.post('/createPost', postValidation, uploader.single("uploadImage"),(req, res, next) => {
let fileUploaded = req.file.path;
let fileAsThumbnail = `thumbnail-${req.file.filename}`;
let destinationOfThumbnail = req.file.destination + "/" +fileAsThumbnail;
let title = req.body.title;
let description = req.body.description;
let fk_userId = req.session.userId;
})
sharp(fileUploaded)
.resize(200)
.toFile(destinationOfThumbnail)
.then(() =>{
let baseSQL = 'Insert into post (title, description, photopath, thumbnail, created, fk_userid) VALUE (?, ?, ?, ?, now(), ?);;';
return db.execute(baseSQL, [title, description, fileUploaded, destinationOfThumbnail, fk_userId]);
})
.then(([results,fields]) =>{
if(results && results.affectedRows){
res.redirect('/');
}else{
res.redirect('/postImage');
}
})
.catch((err) => {
})
module.exports = router;
do this, you needed to add your code to the callback function这样做,您需要将代码添加到回调函数
var express = require('express');
var router = express.Router();
var db = require('../config/database');
const { errorPrint, successPrint } = require('../helpers/debug/debugprinters');
var sharp = require('sharp');
var multer = require('multer');
var crypto = require('crypto');
const { syncBuiltinESMExports } = require('module');
const { request } = require('http');
const { registerValidator } = require('../middleware/validation');
var storage = multer.diskStorage({
destination: function(req, file, cb){
cb(null, "public/images/uploads");
},
filename: function(req, file, cb){
let fileExt = file.mimetype.split('/')[1];
let randomName = crypto.randomBytes(22).toString("hex");
cb(null, `${randomName}.${fileExt}`);
}
});
var uploader = multer({storage: storage});
router.post('/createPost', postValidation, uploader.single("uploadImage"),(req, res, next) => {
let fileUploaded = req.file.path;
let fileAsThumbnail = `thumbnail-${req.file.filename}`;
let destinationOfThumbnail = req.file.destination + "/" +fileAsThumbnail;
let title = req.body.title;
let description = req.body.description;
let fk_userId = req.session.userId;
// put code here
sharp(fileUploaded)
.resize(200)
.toFile(destinationOfThumbnail)
.then(() =>{
let baseSQL = 'Insert into post (title, description, photopath, thumbnail, created, fk_userid) VALUE (?, ?, ?, ?, now(), ?);;';
return db.execute(baseSQL, [title, description, fileUploaded, destinationOfThumbnail, fk_userId]);
})
.then(([results,fields]) =>{
if(results && results.affectedRows){
res.redirect('/');
}else{
res.redirect('/postImage');
}
})
.catch((err) => {
})
})
module.exports = router;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.