我需要在远程服务器文件夹上写一个文件,我在nodejs上使用fs。这是我的代码,该函数返回没有错误,但没有在文件夹中写入文件。
nnoremap gc2j V2j:action CommentByLineComment<CR><Esc>
nnoremap gc3c V3j:action CommentByLineComment<CR><Esc>
" etc...
答案 0 :(得分:1)
您无法做到。 fs
仅适用于正在执行代码的文件系统。
唯一的方法是,您指向的服务器应该具有一个API,通过该API通过传递某些参数,可以在该路径中写入文件。
答案 1 :(得分:1)
您不能使用fs访问远程文件系统,而必须中继第三方库。
上传:
您可以使用ftp之类的第三方库将其上传到公共ftp:
var Client = require('ftp');
var fs = require('fs');
var c = new Client({ host: 'someurl.com', port: 21});
c.on('ready', function() {
c.cwd('/Content/myfiles', function(err) {
if(!err) {
c.put('/local/path/message.txt', 'message.txt', function(err) {
if (err) throw err;
c.end();
});
}
});
});
c.connect();
假设您有权访问该服务器,则ftp还为需要简单身份验证的服务器提供支持。
下载:
您可以使用请求库来获取文件,然后使用fs将其写入文件系统:
var request = require('request');
request.get('https:/someurl.com/Content/myfiles/message.txt', function (error, response, body) {
if (!error && response.statusCode == 200) {
fs.writeFile('message.txt', body, 'utf8', (err) => {
console.log(err)
})
}
});