Javascript 如何使用Meteor向服务器读写文件?
我正在Meteor中开发NoDB CMS,但我对Meteor和JavaScript框架都是新手Javascript 如何使用Meteor向服务器读写文件?,javascript,file,meteor,Javascript,File,Meteor,我正在Meteor中开发NoDB CMS,但我对Meteor和JavaScript框架都是新手 如何向服务器读取和写入文件?节点fs模块是一个开始 不过,您可能希望您的问题更具体一些,因为它有点宽泛。您可以尝试在启动函数中使用Npm.require。像这样 Meteor.startup(function () { fs = Npm.require('fs'); } 但是,您肯定应该看看它是否实现了您想要的功能:将文件存储在服务器上并允许您检索它们 另一个优点是,您可以将所有内容分布在Mo
如何向服务器读取和写入文件?节点fs模块是一个开始
不过,您可能希望您的问题更具体一些,因为它有点宽泛。您可以尝试在启动函数中使用Npm.require。像这样
Meteor.startup(function () {
fs = Npm.require('fs');
}
但是,您肯定应该看看它是否实现了您想要的功能:将文件存储在服务器上并允许您检索它们
另一个优点是,您可以将所有内容分布在MongoDB集群的多个节点上
要操作图像文件,您可以使用它,它应允许您以任何需要的方式进行转换。在Node fs模块中,您有一个函数
getUser = Meteor.users.findOne({_id : Meteor.userId()});
userObject = JSON.stringify(getUser);
var path = process.env["PWD"] + "/public/";
fs.writeFile(process.env["PWD"] + "/public/"+Meteor.userId()+'.txt', userObject,
function (err) {
if (err) throw err;
console.log('Done!');
}
);
上面的代码片段将创建一个包含用户所有信息的文件。您可以使用getUser.\u id
之类的工具访问查询结果的属性,以准备打印数据参数(字符串或缓冲区)
所有这些当然都是服务器端的。更具体地说,我希望从服务器读取一个映像文件,对其进行操作,然后将一个单独的版本保存回另一个目录中的服务器。当我尝试像这样加载节点FS时:var FS=Npm.require('FS');我得到一个错误:uncaughtreferenceerror:Npm没有定义,看起来应该可以正常工作。如何在Meteor项目中设置它?我还没有尝试过任何东西,因为不熟悉Meteor,我不知道从哪里开始。如果我需要(fs),是否将其放在服务器文件夹中?如果我这样做了,我该如何从客户那里称呼它?好吧,那么如果你不熟悉Meteor:首先熟悉Meteor。这对于你的第一个Meteor应用程序来说太高级了。所以现在我有点熟悉了。我这样做了:if(Meteor.isClient){Meteor.startup(function(){fs=npm.require('fs');});}并将其放在我的main.js文件中。但我收到一个“npm未定义”错误。您不能在客户端上使用npm,只能在服务器上使用。即使使用启动功能,我仍然收到未定义的错误。我应该在某个地方定义Npm吗?请运行meteor--版本如果你有0.6之前的版本,Npm没有定义我有meteor的最新版本。这很奇怪。你的操作系统是什么?你能发布文件名、文件位置和失败代码吗?我能找到的唯一解释是,您试图在客户机代码中使用Npm。