「みんなのお仕事相談所」では、ユーザーさまのご依頼の相場や製作期間、
契約書やお金に関する悩みを気軽に相談できるQ&Aコミュニティです。
違反案件についてはよくある質問の「【共通】違反のお仕事とは」をご覧ください。
また、違反報告についてはよくある質問の「【共通】違反報告とは」をご確認ください。
いわゆる宅ファイル便のような独自のWebサービスで、アップロード(およびDLも)ファイル容量制限を5GBほどにしたいという案件がございます。
これについて構築費用を見積もる必要がありまして、ピンポイントの相談ですが、こういったケースでは接続性など、なにか特殊な実装が必要になるものでしょうか。
通常のhttpのアップロードのままでよいものかなんとなく不安のため、有識の方がおりましたら、実装のアドバイザーもしくは実装そのものをお願いしたく、お見積りをいただけますでしょうか。
実装はasp.net+C#による実装です。
よろしくお願い致します。
ブラウザではなくWPF等を使う手もアリです。
アップロードしたいファイルのサイズを取得して判定すれば良い気がしますけど。
HTTP通信を前提にしているのでしょうかね。
C#でファイルサイズを取得するには
=================================================================
System.IO.FileInfo fi = new System.IO.FileInfo(@"C:\send.txt");
//ファイルのサイズを取得
long filesize = fi.Length;
==================================================================
これでfilesize変数にsend.txtのファイルサイズが入ります。
ただ、JAVA SCRIPTで取得してチェックするだけでいい気もしますけどね。
JAVA SCRIPTを有効にしているのであればですが。
送信側でファイルサイズに制約をかけているのであれば、Server上にあるファイルは
制約をクリアーしたファイルしかないわけですから、DL時にファイルサイズを意識する必要はないはず。
オーダーメイドに相場はありませんので、ベンダーを公募してベンダーに価格の見積もりを出してもらうのが良いでしょう。
内容がそう複雑ではないので、多分数万円だと思いますよ。
余談ですが!
FTP Serverを使った処理でファイル転送を行うのであれば、FTP Serverの設定でできると思います。
HTTP Server経由の場合、スクリプトでチェックしてサイズオーバーなら受け付けなければ良いだけなのでJava Scriptで十分だと思います。
お二方、ご回答ありがとうございます。意図がわかりずらくてすみませんでした。
サイズを測ることを相談したかったわけではなく、こういったMAX5GBなる大容量のアップロードを行う場合、
小サイズのファイルのアップロードを行ってきたこれまでのhttpアップロードのままの実装でよいのか
やや不安で有識の方がいらっしゃればと思いました。
HTTP通信で問題がないか?
という意味であればないと思います。
なんにしても通信速度関係はキャリアメーカーの設備とも関係します。
次世代はG5とか騒いでいますけどね。
WindowsUpdateなどのOSのUPDATEでは軽く5GBを超えています。
不満と言えば不満かもしれませんが、みなさん利用していますしね。
アプリケーションのUPDATEなどでも、5GBは簡単に超えます。
Adobeのクラウドサービスで幾度となく莫大なサイズの更新をしてきました。
AmazonのKindleなどの電子書籍も5GBなんて軽く超えますが、僕はよく利用しています。
体感がどうかは別として最新の光通信をしているのであればそれ以上はどうしようもないです。
まぁ、5Gとか6Gとかと騒ぎ出せばその時にキャリアメーカーの動向をみながら検討されると良いのでは?
まぁ、構内LANでだけであるならL3 Switchに切り替えるなどありますが・・・
やる価値はないかと。
もう少し書きますと、今時のHTTP Serverは、CPUがマルチコアなら並列処理をするのです。
どれぐらいのアクセスが同時に集中しているのか?
御社の環境を統計調査してませんので一概には言いませんが。
最新のi9 CPUとかXeonの最高峰だとコア数も40以上とかです。
単一コアの処理速度も早くなっていますから中堅規模の処理ならそこそこ耐えれます。
20年前のServer機で運用しているとかだと・・・論外ですが。
レンタルサーバーでの運営ならAWSなどは性能を有償でアップグレードできますから
問題があればブロバイダーに相談するのもありだと思います。
自前Server機で運用しているのであれば・・・負荷分散機(ロードバランサー)による制御もありですが。
個人的にそこまでは不要だと思います。
Server機の性能が付いてきていないのなら、上文で述べたようにServer機の性能をあげるだけで良いかと思います。
もう少し書きますと、今時のHTTP Serverは、CPUがマルチコアなら並列処理をするのです。
どれぐらいのアクセスが同時に集中しているのか?
御社の環境を統計調査してませんので一概には言いませんが。
最新のi9 CPUとかXeonの最高峰だとコア数も40以上とかです。
単一コアの処理速度も早くなっていますから中堅規模の処理ならそこそこ耐えれます。
20年前のServer機で運用しているとかだと・・・論外ですが。
レンタルサーバーでの運営ならAWSなどは性能を有償でアップグレードできますから
問題があればブロバイダーに相談するのもありだと思います。
自前Server機で運用しているのであれば・・・負荷分散機(ロードバランサー)による制御もありですが。
個人的にそこまでは不要だと思います。
Server機の性能が付いてきていないのなら、上文で述べたようにServer機の性能をあげるだけで良いかと思います。
一歩先のご提案までいただきましてありがとうございました。
本件進展の際にはあらためてご相談させてください。