Articles of 强大

如何使用ejs获取节点js中checkbox的值?

我的代码: Html档案: <form action="/form" method="post" enctype="multipart/form-data"> Name: <input type="text" name="name" /><br> Email: <input type="email" name="email" /> <br> Age: <input type="number" name="age" /> <br> Address: <textarea name="address" rows="10" cols="15"> </textarea><br> Category: <select name="cat"> <option value="1">Php</option> <option value="2">NodeJs</option> <option value="3">jQuery</option> </select><br> Gender: <input type="radio" name="gen" value="m"/> Male <input type="radio" name="gen" value="f"/> Female Hobby: <input type="checkbox" name="hob[]" value="cri"/> […]

当我在Node.js中上传文件时,Formidable总是返回空字段和文件

基本上我想从本地计算机上传一个csv文件,并在后台parsing它来做必要的操作。 我在前端连接了csv文件。 检查了它不是空的。 但我无法在服务器中获取相同的内容。 有什么我失踪或做错的方式吗? 这是我迄今为止所尝试的。 前端代码: <form id="myForm" method="POST" enctype="multipart/form-data" action='/testcsv' > <input type="file" id="file" /> <input type="submit" value="Submit"> </form> 后端代码: var express = require('express'); var methodOverride = require('method-override'); var http = require('follow-redirects').http; var formidable = require('formidable'); var app = express(); const fs = require('fs'); app.use(methodOverride('_method')); var bodyParser = require('body-parser'); app.use(bodyParser.json()); // support json […]

无法读取未定义的属性“displayImage”

我正在开发一个节点js的Web应用程序。 当试图上传图片并保存在应用程序的文件系统中时,我得到的错误: Cannot read property 'displayImage' of undefined 我的图像后的代码如下: router.post('/upload', function (req, res, next) { fs.readFile( req.files.displayImage.path, function (err, data) { var newPath = __dirname + "/uploads/uploadedFileName"; fs.rename(newPath, 'filename', function (err) { res.redirect('/'); }); }); }); 而且在视图中 form(action="upload", method="post", enctype="multipart/form-data") input(type="file", name="displayImage") input(type='submit') 非常感谢你的帮助! PS:我也读过一些使用强大模块的教程。 build议使用它还是我所做的已经足够了?

为什么我可以使用绝对path而不是相对的方式将带有Formidable的file upload到文件夹?

和其他许多新手一样,我正沿着Manuel Kiessling的“The Node Beginner Book”继续学习。 我们应该通过Formidable模块来启动图像上传,不断地将图像重命名为“test.png”并显示。 本书使用path/tmp/test.png ,一切工作正常。 但是这不是一个相对path,我的图像实际上保存在Linux的tmp文件夹中! 我在我的项目中创build了文件夹“tmp”,并试图使相同的事情发生在那里,但我只显示一个错误! ENOENT, open './tmp/test.png' 当我尝试pathtmp/test.png时,同样的事情发生,但有趣的部分是,当我把一个实际的图像直接放入tmp文件夹并将其显示在我的页面上时,这两个path都起作用。 所以没有语义/语法错误,或..? 我的requestHandler.js,其中重要的部分是上传和显示function: var querystring = require("querystring"), fs = require("fs"), formidable = require("formidable"); function start(response) { console.log("Request handler 'start' was called."); var body = '<html>' + '<head>' + '<meta http-equiv="Content-Type" content="text/html; ' + 'charset=UTF-8" />' + '</head>' + '<body>' + '<form action="/upload" […]

在上传整个文件之前validation文件扩展名(node.js)

我有一个Node.JS服务器作为一个路由器工作,它可以发送请求,以上传文件,只有jpg / png / jpeg扩展应该被允许我现在做的是: var form = new formidable.IncomingForm(), files = [], postToFolder, source, size = 0, dest; postToFolder = '/path/'; form.on('file', function (field, file) { var fileType = file.type.split('/').pop(); if (fileType == 'jpg' || fileType == 'png' || fileType == 'jpeg') { // alot of stuff } else{ console.log('invalid filetype'); fs.unlinkSync(file.path); console.log('Deleted: ' […]

使用node.js,node-formidable和socket.io向客户端发送上传进度更新

我的代码显示了一个简单的上传表单( node-formidable和node.js )。 我正在使用socket.io更新客户端上的当前上传文件进度。 我的问题是,我目前正在向每个客户端发送进度更新。 例如,如果我用clientA开始上传,然后用clientB连接到网站,clientB将看到与clientA完全相同的进度条。 通常情况下, clientA和clientB应该是不同的,各自的进度条只与它们各自的上传链接。 这是我的app.js文件 // Required modules var formidable = require('formidable'), http = require('http'), util = require('util'), fs = require('fs-extra'); // Path to save file, server side var savePath = "./uploadedFiles/"; // Loading index.html var server = http.createServer(function(req, res) { // Form uploading Process code //Upload route if (req.url == […]

formidable.parse方法不执行,nodejs和强大的包

问题:节点包“formidable”中的.parse()方法不想执行。 Reasources:这个网站上的代码片段是我用作参考,如果有帮助: https : //github.com/felixge/node-formidable 描述:我正在尝试创build一个网站,可以上传和存储一个带有nodejs文件的服务器端代码。 我正在实现这个使用httpdispatcher包引导用户,并强大的包处理上传表单。 我遇到一个问题,每次我的程序都按照预期执行,直到强大的包方法parsing(),然后停止任何操作。 浏览器选项卡试图重新加载,并且在差不多5分钟后,显示“服务器没有发回任何东西”的错误。 我没有收到来自节点的错误。 显然,这个代码只把处理过的表单数据发回给用户。 我只是把它简化到我认为合理的地步。 代码:nodejs,(server.js文件): var http = require('http'); console.log('http loaded'); var fs = require('fs'); console.log('fs loaded'); var dispatcher = require('httpdispatcher'); console.log('dispatcher loaded'); var formidable = require('formidable'); console.log('formidable loaded'); var util = require('util'); console.log('util loaded'); dispatcher.setStaticDirname('.'); dispatcher.setStatic('resources'); dispatcher.onGet('/main', function(request, response){ response.writeHead(200, {'Content-Type': 'text/html'}); fs.readFile('index.html', function(error, html){ response.end(html); […]

强大的只能处理一个文件?

我试图用强大的parsing表单与多个file upload,但不知何故结果只显示一个文件。 这里是我从这里直接复制的parsing代码: https : //github.com/felixge/node-formidable var form = new formidable.IncomingForm(); form.multiples = true; // per their documents form.parse(req, function(err, fields, files) { res.writeHead(200, {'content-type': 'text/plain'}); res.write('received upload:\n\n'); res.end(util.inspect({fields: fields, files: files})); // files only contain one file, // and files.length is undefined. It is not an array. }); 这是我的HTML: <FORM action="/file" enctype="multipart/form-data" method="post"> <br> […]

找不到模块“node_modules / formidable”

在Node.js中,我试图使用强大的模块,但我总是得到错误 **Error: Cannot find module 'node_modules/formidable'** 错误的详细信息: C:\Program Files\nodejs>node E:\NODE_JS\App1\index.js module.js:340 throw err; ^ Error: Cannot find module 'node_modules/formidable' at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:280:25) at Module.require (module.js:364:17) at require (module.js:380:17) at Object.<anonymous> (E:\NODE_JS\App1\requestHandlers.js:4:18) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) 我试图用两种方式安装模块,使用下面的命令 npm install formidable npm install […]

如何用强大的js来限制文件types

我有一个强大的function运行,接受传入的文件。 它的作用像一个魅力,但我不能看到有关限制文件types的文档中的任何地方。 https://github.com/felixge/node-formidable似乎几乎所有的东西都被覆盖,除了这个。 有没有人遇到过这个? var form = new formidable.IncomingForm(), files = [], fields = [], returnJson = {}; //setup the incoming form.uploadDir = GLOBAL.server_settings.user_content; form.encoding = 'utf-8'; form.maxFieldsSize = 2 * 1024 * 1024; form.maxFields = 1000; form.on('field', function(field, value) { console.log(field, value); fields.push([field, value]); }) /* this is where the renaming happens */ .on […]