前提・実現したいこと
Nodeサーバからscp接続先のサーバに対してzipファイルをアップロードしたいです。
アドバイスお願いします。
発生している問題・エラーメッセージ
scp接続はできて、接続先の指定のフォルダにzipファイルが作られますが、
これを解凍すると想定外のtmpフォルダ(中身は空)ができます(想定はテキストファイル)
解凍して5秒ほど時間が経つと、フォルダが勝手に閉じます(怖い壊れ方)
zipファイルにはパスワードもかけているんですが、7zがすんなり解凍し、上記の結果となります。
(パスワードなしでも試したが、結果は同じでした)
zipファイルの中身のテキストファイルをscp送信すると、壊れずに送信されます。
(バイナリファイルだからダメ?)
該当のソースコード
javascript
1const ScpClient = require('scp2').Client 2// ... 省略... 3 // 接続情報 4 const scpConnectOptions = { 5 host: `hostName`, 6 port: `portNumber`, 7 username: `userName`, 8 password: `password` 9 } 10 const scpClient = new ScpClient(scpConnectOptions); 11 scpClient.upload( 12 `zipFileName`, 13 `fullPath`, 14 err => { 15 if (!err) { 16 resolve(); 17 } else { 18 reject() 19 } 20 } 21 ) 22// ... 省略...
試したこと
scpを扱うためのモジュールは以下の2つ
・https://www.npmjs.com/package/scp
※ 以下「scpモジュール」と呼ぶ
・https://www.npmjs.com/package/scp2
※ 以下「scp2モジュール」と呼ぶ
現在使っているのは後者の「scp2モジュール」の方です。
これは「scpモジュール」ではオプションとしてはscpサーバ接続の際のパスワードを指定できず、
実行時に標準入力でパスワードを入力しなくてはいけなかったためです。
「scp2モジュール」ではBuffer形式をコンテンツとしたwriteメソッドも使えるので、
これも試したのですが、結果は変わらなかったです。
補足情報(FW/ツールのバージョンなど)
Node.js: v8.11.1
scp2: ^0.5.0
サーバ: MacPC
WinSCPでscp接続先にzipファイルが送信されたことを確認、WindowsPCに落として解凍
して確認
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。