問題タブ [large-file-upload]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
file-upload - ユーザーが大きな ZIP ファイルをサーバーにアップロードする方法
私は現在 OpenCart を使用して、顧客が私の Web サイトから製品を購入できるようにしています。
アイテムの購入に成功したら、大きなファイルを (できれば FTP 経由で) 私のサーバーにアップロードできるようにしたいと思います。10Mb から 100Mb の間のどこかを期待しています。
これは可能ですか?また、これをどのようにまとめることをお勧めしますか?
orderID を使用してサーバー上にプライベート ディレクトリを作成する必要があると思います。 サーバー上の特定のプライベート ディレクトリへの書き込み専用アクセス権を持つ FTP ユーザーを作成し、そこに '<%OrderID%>.zip' をアップロードするように依頼する必要がありますか?
または、これを処理するより良い方法はありますか?Dropbox、Amazon S3、またはPluploadを検討する必要がありますか?
これについて助けてくれてありがとう:-)
ruby-on-rails - Railsアプリで大きなファイルのアップロードを処理するための最良の方法は何ですか?
Rails アプリケーションで大きなファイルのアップロード (2 ~ 5Gb ファイル) を処理するためのさまざまなアプローチを理解することに興味があります。
このサイズのファイルを転送するには、ファイルを小さなパーツに分割する必要があることを理解しています。
- サーバー側の構成は、大きな POST 要求を受け入れるために必要であり、おそらく4Gb を超えるものを処理するには 64 ビット マシンが必要です。
- AWS はマルチパート アップロードをサポートしています。
- HTML5 FileSystemAPIには、ファイルをチャンクでアップロードする永続的なアップローダーがあります。
- Bitorrent用のライブラリですが、これには理想的ではない送信クライアントが必要です
これらのメソッドはすべて FTP のように再開できますか? FTP を使用したくない理由は、可能であれば Web アプリに保持したいからです。Carrierwave と paperclip を使用しましたが、5Gb ファイルのアップロードには時間がかかる可能性があるため、再開できるものを探しています!
私がリストしたこれらのアプローチのうち、何がうまく機能したかを理解したいと思います。可能であればプラグインは使用せず、むしろ Java アプレットまたは Flash を使用しないようにします。もう 1 つの懸念は、これらのソリューションがアップロード中にファイルをメモリに保持することです。これも、可能であれば避けたい制約です。
node.js - bodyParser のアップロード制限を、ミドルウェアでグローバルではなく特定のルートに設定するにはどうすればよいですか?
これは、グローバルに機能するミドルウェアのセットアップの例 (Express 3) です。
セキュリティ上の理由から、以外のルートで 500 GB 以上の投稿を許可したくない/upload
ので、ミドルウェアでグローバルにではなく、特定のルートで制限を指定する方法を見つけようとしています。
bodyParser() のマルチパート ミドルウェアが既にコンテンツ タイプを盗聴していることは知っていますが、それをさらに制限したいと考えています。
これは Express 3 では機能しないようです:
Error: Request Entity Too Large
URLに 3MB のファイルをアップロードしようとすると、エラーが発生しupload
ます。
これをどのように正しく行うのですか?
java - ウェブブラウザから大きなファイルをアップロードして Amazon S3 に転送する
現在、ファイルのアップロードを含む小さな Web アプリがあります。現在、大きなファイルをアップロードできるように、チャンクを有効にしてクライアントでPluploadを使用しています。ファイルはアプリ サーバーに保存され、チャンクは表示されるたびに追加されます。
現在、複数のアプリサーバーの可能性を備えたファイルストレージ用にAmazon S3に移行しています。これらのチャンクを処理する方法が難しいと感じています。私は彼らの例に従おうとしていましたが、問題が発生しています。私がしようとしているものの肉は次のようになります:
私が抱えている問題は、チャンクの uploadId を何らかの方法で知る必要があることです。アップロードの初期化から取得したときにそれを持っていInitiateMultipartUploadResult
ますが、それを後で発生するチャンクとどのように関連付けますか? おそらく最初の応答でそれを送信し、その後、各チャンク要求でそれを送り返すことができると思いました. それはあまりにも遠いようには思えませんでした。
次に、アップロードを完了するには、各アップロードから Amazon S3 に返される s が必要であることがわかりましたList<PartETag>
。それで、私の次の質問は、ブラウザからチャンクがアップロードされている間に、PartETag
これらすべての s をどのように保存するかということでした。PartETag
私が最初に考えたのはPartETag
、応答で各チャンクを送信し、それらのクライアント側を保存できるということでした。これらすべての s を送信できるように、最後のチャンクがいつアップロードされているかを知る方法があるかどうかはわかりませんPartETag
。そうでない場合は、毎回持っているすべてのものを送信する必要があり、最後のリクエストのみがそれらを使用します。これはすべて私には少しハッキーなようです。
ですから、誰かが以前にこれに対処したことがあると思います。これを行う良い標準的な方法はありますか?
アプリ サーバーでファイルを作成してから S3 に送信することを考えましたが、アプリ サーバーが複数あると、チャンクが同じ場所に配置されるとは限りません。
私が持っていた別の考えは、アップロード中にこのすべての情報をデータベースに保存することですが、チャンク要求ごとにデータベースにアクセスする必要があるかどうかはわかりませんでした. これ以外にオプションはありますか?
どなたでもご協力いただければ幸いです。
amazon-s3 - Fineuploader: Amazon S3 への大きなファイル
小さなファイル (約 5MB 未満) の場合、Fineuploader は署名のために完全なポリシー オブジェクトを送信し、一時的なリンクをクライアントに送信する posprocessing とサーバー側の管理要素を含めてアップロードが成功します。サーバーには公式のFineUploader S3 デモ PHP コードを使用します。https://github.com/Widen/fine-uploader-server/blob/master/php/s3/s3demo-thumbnails.php
署名リクエストの例 (フォーマット済み、匿名化済み):
応答には、ポリシーと署名が含まれています (フォーマット済み):
...しかし、より大きなファイルの場合、Fineupload は別の署名要求を送信します。これには、ヘッダー (フォーマット済み、匿名化済み) のみが含まれます。
応答には署名のみが含まれます (フォーマット済み):
その場合、OPTIONS
Amazon S3 へのリクエストは失敗します。
応答:
- ステータス: 403
- 本体:空
応答ヘッダー:
テストケース:
- より小さい
.mov
,.mp3
,.pdf
,.log
ファイルでテスト済み: コース #1 (成功) - より大きなファイル (同じタイプ) でテスト済み: コース #2 (不合格)
違いの原因は何ですか?どうすれば修正できますか/修正する必要がありますか?