我刚开始使用Node,我一直在关注各种教程。 我创建了一个Express应用程序,并设置了Mongoose和Jasmine。 如何配置我的规格以便我可以: 创建模型,在每个规范后自动清理它们 使用不同的数据库来创建测试对象(比如myapp_test) 以尽可 ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
我一直在努力寻找这个问题的答案:我需要通过Node.Js Express应用程序上传文本/ html文件,并将其内容保存到变量中以进行进一步处理。
我当然可以制作多部分表格,然后发布内容,但是到目前为止,我只能访问req.files
,其中包含有关文件的信息,但不包含实际内容。
如何从文件中获取实际的text / html内容?
我不想将其保存到我的服务器,只需将内容传递到我的应用程序并删除文件,所以我不想使用像formidable
这样的模块。
有人可以帮忙吗?
谢谢!
将multer https://github.com/expressjs/multer与inMemory: true
选项inMemory: true
使用。
作为一个粗略的例子,您将想要做这样的事情。
app.post('test', function(req, res, next) {
var result = '';
multer({
inMemory: true,
onFileUploadData: function(file, data) {
result += data;
},
onFileUploadComplete: function(file) {
console.log(result); // This is what you want
}
})(req, res, next);
});
该文件默认情况下保存在一个临时文件夹(可能是/ tmp)中。 您需要打开文件,读取其内容,然后将其删除。
您将要使用以下API: http : //nodejs.org/api/fs.html
您可以这样做:
fs = require('fs');
fs.readFile(req.files.path, function (err, data) {
if (err) throw err;
// data will contain your file contents
console.log(data)
// delete file
fs.unlink(req.files.path, function (err) {
if (err) throw err;
console.log('successfully deleted ' + req.files.path);
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.