2011-12-10 6 views
0

私は2つのサーバー、Server1 & Server2を持っています。 JavaScriptを使ってServer1からServer2にファイルをコピーしたいと思います。これは可能ですか?もしそうなら、どうですか? たとえば先週、私はこのアクションに「wget」コマンドを使用しました。今私はJSでそれを処理したい。javascriptを使ってファイルをコピー/アップロード/編集する方法はありますか?

+1

願っていますか?それはテキストファイルかバイナリですか? Server2にはどのようなサーバー側言語がありますか? –

+0

あなたは本当にこれにJSに固執したい場合は、いくつかのserverside JSソリューションを使用することができます。 Node.jsは良い考えです。これをブラウザで実行したいのでない限り、私にとっては意味がありません。 – kapa

+0

@bazmegakapaなぜそれは意味をなさないでしょうか? Webページを使用してサーバー1からサーバー2にファイルを移動するためのUIを提供します。 –

答えて

0

いいえ。 JavaScriptからディスクにアクセスすることはできません。ちょっとだけ、セキュリティ問題を考えてください。私は単にWebページを作成し、訪問すると、あなたのガールフレンドのすべてのイメージをアップロードして公開します(冗談ですが、それはセキュリティ上の問題です)。

ただし、JavaScriptがいくつかのシナリオ上のファイルにアクセスすることができます

  1. ユーザーが(私は確信して、これをしませ推測)HTML5のオフラインストレージを使用して<input type='file' />要素
  2. を使用して、いくつかのファイルを選択します。

ただし、ご希望の場合は、Node.jsを使用してください。しかし、これはサーバーサイドのものです。

+0

ファイルはServer1にあります。 –

+1

もちろん可能です。ノード。js API http://nodejs.org/docs/v0.6.5/api/fs.html#file_System –

+0

@WojciechBednarski、あなたは私に投票しましたか?ええ、そうです。 Node.jsはそれを行うことができます。私はブラウザのコンテキストを考えていただけだった。ありがとう:) –

3

私は、当面の作業の完全な仕様を知っていませんが、問題を解決するためにNode.jsを調べることができます。ここrepoを助けるかもしれないか、あなたは私が同様のポストから取ったこのスニペットを使用することができ、迅速レポです:

var http = require('http'); 
var fs = require('fs'); 
var google = http.createClient(80, 'www.google.com'); 
var request = google.request('GET', '/', 
    {'host': 'www.google.com'}); 
request.end(); 
out = fs.createWriteStream('out'); 
request.on('response', function (response) { 
response.setEncoding('utf8'); 
response.on('data', function (chunk) { 
    out.write(chunk); 
    }); 
}); 

私はこのことができますし、ここにあなたが、これはブラウザ内で実行されない欲しいoriginal post

+0

ありがとう、私はそれを確認しますが、送信するファイルはどこですか?私はこのコードを理解することができない、私はこのメソッドでファイルを送信したい! – Freeman

+0

これは書き込みストリームにする必要がありますが、編集する必要があるかもしれませんが、質問に答えるために - 私はそれが可能だと思います:) –

+0

@Robert OPがブラウザ内で実行されるタスクを望んでいると思いますサーバー上ではなく... –

関連する問題