简体   繁体   English

我不知道为什么会出现 ReferenceError: fileUploaded is not defined

[英]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.

相关问题 我是 nodejs 的新手,我收到了参考错误:io is not defined ,我想不通 - I am new to nodejs and I'm getting reference error: io is not defined ,I can't figure it out 我不明白为什么我会无限循环 - I can't figure out why I'm getting infinite loop 我不知道为什么我在这里得到“无法读取未定义的属性'长度'的错误”错误 - I can't figure out why I'm getting the “Cannot read property 'length' of undefined” error here 无法弄清楚为什么我得到“无法读取未定义的属性'0'”错误 - Can't figure out why I'm Getting “Cannot read property '0' of undefined” Error 我收到未处理的承诺拒绝错误,但不知道为什么 - I'm getting an Unhandled Promise Rejection error but can't figure out why 我在JavaScript中变得未定义,无法弄清为什么 - I am getting undefined in JavaScript and can't figure it out why 我无法弄清楚错误是什么,错误:未捕获的 ReferenceError - I can't figure out what the error is, Error: Uncaught ReferenceError 无法弄清楚为什么我一直不确定 - Can't figure out why I keep getting undefined 遵循教程但无法弄清楚为什么我会收到此消息:“类型'() => WordArray'.ts(2339) 上不存在属性'子字符串'” - Following a tutorial but can't figure out why I'm getting this message: "Property 'substring' does not exist on type '() => WordArray'.ts(2339)" 我有编程经验,但是对Javascript还是陌生的,无法弄清楚为什么我的代码无法运行 - I'm experienced with programming but new to Javascript, can't figure out why my code won't run
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM