Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用Meteor向服务器读写文件?_Javascript_File_Meteor - Fatal编程技术网

Javascript 如何使用Meteor向服务器读写文件?

Javascript 如何使用Meteor向服务器读写文件?,javascript,file,meteor,Javascript,File,Meteor,我正在Meteor中开发NoDB CMS,但我对Meteor和JavaScript框架都是新手 如何向服务器读取和写入文件?节点fs模块是一个开始 不过,您可能希望您的问题更具体一些,因为它有点宽泛。您可以尝试在启动函数中使用Npm.require。像这样 Meteor.startup(function () { fs = Npm.require('fs'); } 但是,您肯定应该看看它是否实现了您想要的功能:将文件存储在服务器上并允许您检索它们 另一个优点是,您可以将所有内容分布在Mo

我正在Meteor中开发NoDB CMS,但我对Meteor和JavaScript框架都是新手


如何向服务器读取和写入文件?

节点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。