- ベストアンサー
ブラウザからサーバーへのデータ送信に向いている方法
- ブラウザからサーバーへのデータ送信には、POSTでのhttp送信やフラッシュを使ったrtmp送信、メールやftpを使った送信などの方法があります。これらの技術を用いて大きなファイルを送信することができます。また、エクスプローラやファインダーを使って異なるPCにストレージとしてアクセスする方法もあります。
- これらの技術の中で最も手軽に実現できてちゃんと送信できる方法は、POSTでのhttp送信です。ブラウザから直接サーバーにデータを送信することができ、オープンな入り口でのp2p通信も可能です。また、技術レベルが中級程度の方でも簡単に実装できます。
- 他にも、WebSocketを使ったリアルタイム通信や、クライアントサイドのJavaScriptを活用したAjax通信などもあります。これらの技術は、ウェブアプリケーションの開発においてより高度なデータ送信を実現するために利用されます。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> 直接ftpならftpのプロトコルにformタグなどから送信出来たらいいのでそのような技術を探しているんです。 あ、なるほど、 <FORM action="ftp://ユーザー名:パスワード@ftpサーバー/ディレクトリ/"> みたいなことができないか ってことですね。 HTMLのform だと、ブラウザは、httpヘッダ+GET/POSTデータで送るでしょうから、 ftpサーバー側がそのプロトコルを認識できないので、難しいのではないかと。 ただ、HTML(Form)からの送信でなく、 アプレットやFlashやSilverlightでなら FTPプロトコルの送信ができるでしょうから、 これらでftpサーバーに向けて送信させればいいのではないでしょうか?
その他の回答 (2)
- superside0
- ベストアンサー率64% (461/714)
PHPだと、php.iniで memory_limit 128M post_max_size 8M upload_max_filesize 5M (memory_limit > post_max_size > upload_max_filesize) みたいになってて、POST出来るサイズはかなり小さいようです。 (これは、httpの制限でなくて、PHPの制限) それから、多くのブラウザでは、2GBを超えるファイルを直接送信できないようです。 なので、 Javaアプレットとか、Flash使って ファイルを自動分割で送信して、 Webサーバー側では、それをhttpで受け取ったら、シリアル振って確保した後、 最後にファイル結合するという感じになるのではないでしょうか。 単にアップするだけなら、ブラウザ(IEのみかな)でftp:// の画面を出して ファイルをその画面にドロップすることでアップロードすることもできるらしいですが、 アプリの画面中で 突然それって、ちょっと使いにくいそうですし。
お礼
ご回答ありがとうございます。 そうですね。 ウェブサーバーで最後に結合はまさに仕様のイメージです。 質問の意図として、直接ftpならftpのプロトコルにformタグなどから送信出来たらいいのでそのような技術を探しているんです。 ストリーミングサーバーだとswfからrtmpに接続できるので 、フラッシュ内臓型のブラウザであるクロームを使うと基本的にブラウザとswfがあればクロームをインストールするだけで利用できますね。 限定した人だけで使うのでこのようなメジャーなブラウザの 機能一つの機能を使って実現できないか模索中です。
- wakatonsx
- ベストアンサー率28% (234/828)
ストリーミングサーバーのデータベースはmysql+PHPにて行うのでしょうか? PHPではファイル送信容量の限界があります。 red5でもH.264とかで変換すると思うので現実的にTBとかの転送は無理です。 現実的には500Mぐらいが限度です。 サーバーもLinuxの64ベースにRaidを組んで構築しないと厳しいですね。 mysql+PHPにて行う方が良いでしょう。
お礼
ご回答ありがとうございます。 なるほど、http上のhtmlが窓口だとファイルを送信できる 容量が限られてしまうのですね。 Raidで構築はしたことないです。 さらに64ビット版のリナックスの存在を初めて知りました。 手元で触れるテスト兼、多分本番になるだろうマシンのhddは一つで以下のマシンです。 http://www.shuttle-japan.jp/barebone/slim/xs35-gt/ しかしながら社内で同時にアクセスする人は少なく、せいぜい2、3人です。見た感じ、Raidは無理そうです・・・。 ログインできる人数は300人くらいを想定してます。 mysql+PHPで500MBくらいで仕様変更で考えてみます。 また他にもやり方がありましたらご提案してください。 しばらく、回答欄を開けておきます。
お礼
ご回答ありがとうございます! プラグインを使ったftpやsftpで考えてみます!