Tag: 文件

我们如何防止用户上传文件并占用带宽?

场景:我的networking服务器的带宽有限。 用户正在将大file upload到我的nodejs服务器。 我意识到这个尺寸太大了以后就无效了 req.on("data", (chunk) => { size += chunk.size; if(size > 100) { // how would I abort? } }); 我将如何中止上传,并不会消耗用户的分段上传带宽? req.removeAllListeners()会在这种情况下做这个工作吗?

使用节点快递服务静态文件时,正确的脚本path是什么?

我总是遇到问题find正确的path的脚本,它必须是因为我的方式服务静态文件,因为我的path是正确的。 在我的代码中,我试图包含物化框架,但没有find,我不明白为什么。 我在/浏览器中提供我的文件 app.use(express.static(path.join(__dirname, '../browser'))); 从浏览器/ index.html我使用(我相信)正确的道路,但它不工作。 任何帮助将是真棒,所以我不会一直犯同样的错误! 非常感谢你! 航class/服务器/ app.js var express = require('express'); var path = require('path'); var morgan = require('morgan'); var bodyParser = require('body-parser'); var app = express(); module.exports = app; app.use(morgan('dev')); app.use(express.static(path.join(__dirname, '../browser'))); app.use(bodyParser.urlencoded({ extended: false })); app.use(bodyParser.json()); var PORT = process.env.PORT || 1337; app.listen(PORT, function() { console.log('Server is listening on […]

用Node.js删除前15k行的文本文件

我有一个大的文本日志文件(大约20MB)。 我想删除第一个15000行左右。 我怎么能在Node.js中做到这一点?

如何使用强大的节点js文件扩展名?

我的代码: Js文件: var formidable = require('formidable'); var fs = require('fs'); var ex = require('express'); var fse = require('fs-extra'); var app = ex(); app.set('view engine', 'ejs'); app.get('/form', function(req, res) { res.render(__dirname + '/views/front.ejs', {title: 'form-page'}); }).listen(8081); app.post('/form', function(req, res) { var form = new formidable.IncomingForm(); form.parse(req, function (err, fields, files) { var oldpath = files.fil.path; var […]

将图像文件数据从前端发送到后端

有没有一种方法可以将图像文件从前端发送到后端? 我需要将表单中选定的图像上传到云计算云平台。 用req.body访问文件input没有帮助,并给我一个错误,说no such file or directory open 。 如果我添加enctype="multipart/form-data" ,然后在我的后端做一个req.on('data', (data)=> {console.log(data.toString)}) ,然后执行上传它cloudinary,它失败,并给我以下错误: Error: Path must be a string without null bytes 这是我的forms: <form method="post" action="/submitArticle" enctype="multipart/form-data"> <div class="file"> <label class="file-label"> <input class="file-input" type="file" name="image"> <span class="file-cta"> <span class="file-icon"> <i class="fa fa-upload"></i> </span> <span class="file-label"> Choose a file… </span> </span> </label> </div> <div class="field"> […]

在node.js中,为什么我在写入非现有文件时没有收到错误

在下面的代码中,我试图写非现有的文件“doesnotexist.text”,但我仍然得到成功的结果。 var fs = require('fs'); fs.writeFile('doesnotexist.text', 'Hello World!', function (err) { if (err) { console.log('error is '+err); return; } else{ console.log('success.'); } });

使用Nodejs(fs)来访问inputtypes为file的文件

我无法读取不同位置的文件(Node项目目录除外)。 我需要读取一个私钥文件(可能位于文件系统的任何位置),并通过sftp传输一些yaml / yml文件(也可能位于任何位置)。 这些文件在一个文件input字段中select,该字段通过我的index.js(在Node中)的post方法访问。 问题是当我试图读取文件时,我得到一个文件不存在的错误,特别是因为目录默认为Node项目目录。 例如: d:/path/到/节点/项目 d:/这/是/在/的/ keyis 它会尝试阅读这个文件: d:/path/到/节点/项目/ keyis 我不知道为什么我只能得到文件名。 我知道接收整个path是一个安全风险,但我需要的path,即使它不是在任何阶段打印。 这是html表单的代码: <form id="file-upload" name="uploadform" method="post" action="/upload" onsubmit="update()"> <input type='text' id='username' class="btn btn-lg btn-default" name='username' placeholder='Enter Username' style="color:#000"><br> <h3>Select Key:</h3><input type='file' id='key-select' name='keySelect'><br> <h3>Select Yaml:</h3><input type="file" id="file-select" name="yamlfiles[]" multiple accept=".yml, .yaml"/><br> <button type="submit" class="btn btn-lg btn-default" id="upload">Upload Data</button> </form> 然后在index.js中: router.post('/upload', […]

Node.js readStream结束大文件

我想在电子邮件通知中偶尔发送大型日志文件(> 100MB)的最后2KB。 现在,我正在尝试以下内容: var endLogBytes = fs.statSync(logFilePath).size; var endOfLogfile = fs.createReadStream(logFilePath, {start: endLogBytes-2000, end: endLogBytes – 1, autoClose: true, encoding: 'utf8'}); endOfLogfile.on('data', function(chunk) { sendEmailFunction(chunk); } 由于我刚刚重新启动,我的日志文件只有〜2MB,但随着他们变大,我想知道: 1)读取数据是否需要很长时间(节点是否遍历整个文件,直到它到达我想要的字节,或节点跳到我想要的字节?) 2)消耗多less内存? 3)内存空间何时释放? 如何释放内存空间?

用nodejs重命名文件

我试图重命名一个文件,我想我疯了我的代码很简单,我检查文件是否存在,如果存在,我重命名它。 这里是代码: if (fs.existsSync(__dirname+"/"+req.files.file.path)) { fs.rename(__dirname+"/"+req.files.file.path, __dirname+"/app/upload/portfolio/video/"+req.files.file.name, function(err) { if (err) throw err; else …. }); } 但是我得到这个错误(我已经用path / to / filereplace了实际path): 扔呃; ^错误:ENOENT,重命名'path/到/文件/文件名.mp4' 检查后,我发现文件存在(只需复制/粘贴错误中的文件path)可能是这种问题的原因是什么?

node.js的readFileSynccaching读取文件吗?

node.js的fs.readFileSynccaching文件是否被读取? 我不认为这是因为文档没有这样说,但我的代码是这样的行为.. 编辑 代码的相关部分 // after mainPath file is altered, it's not reflected until I restart node.js var scriptString = fs.readFileSync(mainPath); var app = vm.createScript(scriptString, mainPath); // Run the app app.runInContext(context);