Tag: 文件

写入然后从文件中读取TypeBuffer会产生意想不到的结果

运行这个代码之后: var arr = new Uint32Array(16); for (var i=0; i<16; ++i) arr[i] = i; fs.writeFileSync("arr",new Uint8Array(arr).buffer); console.log([].slice.call(new Uint32Array(fs.readFileSync("arr")))); 预期产出是: [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 ] 但是,它会产生这个输出: [ 91, 111, 98, 106, 101, 99, 116, 32, 65, 114, 114, 97, 121, 66, 117, 102, […]

生成一个无效的文件名称用于testing目的

我有一段我需要testing的代码。 其中一个testing需要添加覆盖,其中stream.Writable创build给出一个指定的output文件名。 我需要testingWritable应该失败的情况,它应该发出error事件并执行适当的error handling函数等。 现在,我想我只应该创build一个无效的文件,使用一些奇怪的名字。 但是这个任务似乎比预期的更难一些。 我怎样才能自动将这段代码片段放入catch块? outputFile = String(outputFile); // not exactly how this is really done, // but the end result is the same try { writer = fs.createWriteStream(outputFile, { flags: 'w' }) .on('error', errorHandler) // basically throws the error .on('close', closeHandler); // function 100% tested } catch (e) { // irrelevant code […]

如何在运行时检测js文件是否被缩小(Node.js)

我正在使用Node.js来缩小JavaScript文件,我想只缩小显然不是已经缩小的文件。 我想知道是否有办法找出文件是否通过其内容被缩小。 我正在使用Node.js和filejs,但只要是JavaScript,我就可以使用任何方法。

如何提供用fs.readFile读取的文件

我正在开发与nodejs的应用程序。 我必须读取服务器上的本地文件,我正在使用这个function: fs.readFile(path, "utf8", function (err,data) {} 我如何可以为客户提供“数据”? 可以在新标签页中打开或者在客户端上下载。 –UPDATE–我也试图使用这个解决scheme..是一个好方法吗? res.writeHead(200, {"Content-Type": "application/pdf"}); res.write(data); res.end();

无arraysmongoose的子模式

所以,我想知道,即使我明白你不能创build一个单独的子文档,我仍然想创build一个子文档,以便我可以正确使用默认和其他mongoosetypes,有没有办法仍然这样做一个东西? 例如 : var SomeOtherScheme = new Schema({ a : { type:String, default:'test' }, b : { type:Boolean, default:false } … }); var GroupSettings = new Schema({ x : { type:Number, default:20 }, y : { type:Boolean, default:false }, … else : { type:SomeOtherScheme, default:SomeOtherScheme } }); var Group = new Schema({ name : { […]

二进制字段,水线ORM

我试图插入一个节点JS缓冲区对象表示的文件( MySQL中 )(在水线jstypes二进制), 当读它并写入一个文件,该文件已损坏,我实现了一个Java程序,更新包含该文件的表中的行,我读它和文件是完美的,写入数据库时​​出现问题, 在水线ORM中没有关于二进制字段的文件。 我如何解决这个问题? 我已经打开了这个问题,这可能是sails-mysql中的一个错误。 github上的问题

NodeJS Express模块​​:“dotfile”选项无效

使用express.static()来为静态资源提供服务时,我遇到了一个奇怪的问题。 具体来说, options参数的dotfiles对象不会产生预期的行为。 在明确的文件中指出: … express.static基于服务静态,并负责为静态资产提供服务… 此外,它声称express.static()的提供options参数应该与serve-static具有相同的效果: 可选options对象可以具有以下属性。 用于提供点文件的dotfiles option 。 可能的值是“允许”,“拒绝”和“忽略”。 默认为“忽略”。 这就是服务静态文档指出的dotfiles选项应该规定: '允许'点文件没有特殊处理。 “拒绝”发送一个403请求一个点文件。 '忽略'假装像dotfile不存在,并调用next()。 下面的代码是我能想到的最简洁的例子。 服务静态服务的资源看起来像预期的一样,然而express.static()在服务相同的资源时忽略这些选项。 也就是说,尽pipe参数{dotfiles : 'allow'}被传递给express.static() ,所有以'。'开始的资源请求 返回一个404错误。 这发生在节点版本v0.10.25,express版本2.5.8上,在ubuntu服务器14.04.1 LTS上运行。 var express = require('express'); var app = module.exports = express.createServer(); var finalhandler = require('finalhandler'); var http = require('http'); var serveStatic = require('serve-static'); app.use('/', express.static('public', { dotfiles : 'allow' })); […]

在PhantomJS的evalute中,属性是未定义的

我通过在页面中包含jquery来通过phantomjs获取网站的内容。 现在我必须通过程序将它们写入文件。 为此,我使用了下面的代码 page.onLoadFinished = (function(status) { if (status === 'success') { page.includeJs('http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js', function() { page.evaluate(function() { var mkdirp = require('mkdirp'); mkdirp(counter+'_folder', function(err) { var html = $('pre[data-language="html"]').html(); var js = $('pre[data-language="js"]').html(); var css = $('pre[data-language="css"]').html(); var fs = require('fs'); fs.writeFile(counter+"_folder/"+"fiddle.html", html, function(err) {}); fs.writeFile(counter+"_folder/"+"fiddle.css", css, function(err) {}); fs.writeFile(counter+"_folder/"+"fiddle.js", js, function(err) {}); console.log("******* "+counter+" *************"); […]

如何在grunt中分析“<%= =>”?

告诉它包含文件时,很多grunt插件允许这个语法: ['<%= src_dir %>/common/**/*.js', '<%= src_dir %>/app/**/*.js'] 要么 ['<%= test_files.js %>'] 有什么办法,我可以调用一些库,将parsing这些给我一个实际的输出数组? 或者这是直接build立在咕噜声? 我不知道什么条件谷歌甚至使这个显示。 谢谢

使用Express将文件读取到节点中的字节

在我正在处理的Web应用程序上,用户可以上传PDF文件。 我想阅读这个PDF文件到一个字节缓冲区,我可以传递到我的数据库将其保存为一个BLOB。 我正在使用Express框架在Node中执行此操作。 目前,我有以下几点: 上传表单: <form id='uploadForm' method='post' enctype='multipart/form-data'> <div class='form-group'> <div class='form-inline'> <label for='file'>File:</label> <input type='file' name='file'> </div> </div> <!— some other fields —> </form> 服务器端: router.post('/', function(req, res) { var file = req.files.file; var path = file.path; var fsiz = file.size; var buffer = new Buffer(fsiz); fs.read(file, buffer, 0, fsiz, 0, function (err, […]