我正在尝试将文件从PC复制到const formArray = this.form.get('submenus') as FormArray;
const secondArray = formArray.get('submenugroups`) as FormArray;
const control = secondArray.controls[...] as FormControl;
// Continue with your logic.
文件夹中的NAS synology服务器上。
我设法在命令行中执行此操作,但是我无法使用homes/<user>
复制。
我有另一台服务器(可变OVH服务器)要并行测试。一切都在OVH服务器上运行良好(所有gulp任务和命令行)。
这是Synology的NAS,我激活了SFTP服务,但不确定它是否有用。
我使用我定义的ssh私钥设法在gulp.dest()
中连接到我的NAS。
ssh
我设法使用命令ssh <user>@<host_ip> -p<port>
将文件复制到NAS,没有任何问题。
scp
这是我的大任务:
scp -P <port> test.txt <user>@<host-ip>:~
我尝试用
var os = require('os');
var fs = require('fs');
var GulpSSH = require('gulp-ssh');
var homeDir = os.homedir();
var config = {
host: <host_ip>,
port: <port>,
username: <user>,
privateKey: fs.readFileSync(homeDir+'/.ssh/id_rsa')
}
var gulpSSH = new GulpSSH({
ignoreErrors: false,
sshConfig: config
})
gulp.task('exec', function () {
return gulpSSH
.exec(['uptime', 'ls -a', 'pwd'], {filePath: 'commands.log'})
.pipe(gulp.dest('logs'))
})
gulp.task('dest', function () {
return gulp
.src(['test.txt'], {base:'.'})
.pipe(gulpSSH.dest('.'))
})
创建的{base:'.'}
替换PC上的父文件夹gulpSSH.dest('.')
和gulpSSH.dest('some_folder/')
替换some_folder
我尝试chmod 777
在NAS上的用户目录。
任务'exec'在我的NAS和OVH服务器上都能正常工作。在我的NAS上回应:
chmod 777
任务 09:07:14 up 6 days, 20:41, 0 users, load average: 0.00, 0.00, 0.00
.
..
.ssh
.viminfo
/volume1/homes/<user>
在OVH服务器上工作,但不在我的NAS上,错误:
dest
我想我的NAS服务器上丢失了某些东西,但是只有$ gulp dest
[10:17:31] Using gulpfile C:\<path>\gulpfile.js
[10:17:31] Starting 'dest'...
[10:17:32] Preparing to write "test.txt"
[10:17:32] Writing 'test.txt'
[10:17:32] 'dest' errored after 424 ms
[10:17:32] Error in plugin "gulp-ssh"
Message:
Permission denied
Details:
code: 3
lang:
任务和dest
任务无法正常工作,所以我想这很有可能。
预先感谢您的帮助