問題タブ [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.

0 投票する
0 に答える
524 参照

file-upload - ユーザーが大きな ZIP ファイルをサーバーにアップロードする方法

私は現在 OpenCart を使用して、顧客が私の Web サイトから製品を購入できるようにしています。

アイテムの購入に成功したら、大きなファイルを (できれば FTP 経由で) 私のサーバーにアップロードできるようにしたいと思います。10Mb から 100Mb の間のどこかを期待しています。

これは可能ですか?また、これをどのようにまとめることをお勧めしますか?

orderID を使用してサーバー上にプライベート ディレクトリを作成する必要があると思います。 サーバー上の特定のプライベート ディレクトリへの書き込み専用アクセス権を持つ FTP ユーザーを作成し、そこに '<%OrderID%>.zip' をアップロードするように依頼する必要がありますか?

または、これを処理するより良い方法はありますか?Dropbox、Amazon S3、またはPluploadを検討する必要がありますか?

これについて助けてくれてありがとう:-)

0 投票する
6 に答える
22438 参照

ruby-on-rails - Railsアプリで大きなファイルのアップロードを処理するための最良の方法は何ですか?

Rails アプリケーションで大きなファイルのアップロード (2 ~ 5Gb ファイル) を処理するためのさまざまなアプローチを理解することに興味があります。

このサイズのファイルを転送するには、ファイルを小さなパーツに分割する必要があることを理解しています。

これらのメソッドはすべて FTP のように再開できますか? FTP を使用したくない理由は、可能であれば Web アプリに保持したいからです。Carrierwave と paperclip を使用しましたが、5Gb ファイルのアップロードには時間がかかる可能性があるため、再開できるものを探しています!

私がリストしたこれらのアプローチのうち、何がうまく機能したかを理解したいと思います。可能であればプラグインは使用せず、むしろ Java アプレットまたは Flash を使用しないようにします。もう 1 つの懸念は、これらのソリューションがアップロード中にファイルをメモリに保持することです。これも、可能であれば避けたい制約です。

0 投票する
2 に答える
7996 参照

node.js - bodyParser のアップロード制限を、ミドルウェアでグローバルではなく特定のルートに設定するにはどうすればよいですか?

これは、グローバルに機能するミドルウェアのセットアップの例 (Express 3) です。

セキュリティ上の理由から、以外のルートで 500 GB 以上の投稿を許可したくない/uploadので、ミドルウェアでグローバルにではなく、特定のルートで制限を指定する方法を見つけようとしています。

bodyParser() のマルチパート ミドルウェアが既にコンテンツ タイプを盗聴していることは知っていますが、それをさらに制限したいと考えています。

これは Express 3 では機能しないようです:

Error: Request Entity Too LargeURLに 3MB のファイルをアップロードしようとすると、エラーが発生しuploadます。

これをどのように正しく行うのですか?

0 投票する
2 に答える
1276 参照

java - ウェブブラウザから大きなファイルをアップロードして Amazon S3 に転送する

現在、ファイルのアップロードを含む小さな Web アプリがあります。現在、大きなファイルをアップロードできるように、チャンクを有効にしてクライアントでPluploadを使用しています。ファイルはアプリ サーバーに保存され、チャンクは表示されるたびに追加されます。

現在、複数のアプリサーバーの可能性を備えたファイルストレージ用にAmazon S3に移行しています。これらのチャンクを処理する方法が難しいと感じています。私は彼らの例に従おうとしていましたが、問題が発生しています。私がしようとしているものの肉は次のようになります:

私が抱えている問題は、チャンクの uploadId を何らかの方法で知る必要があることです。アップロードの初期化から取得したときにそれを持っていInitiateMultipartUploadResultますが、それを後で発生するチャンクとどのように関連付けますか? おそらく最初の応答でそれを送信し、その後、各チャンク要求でそれを送り返すことができると思いました. それはあまりにも遠いようには思えませんでした。

次に、アップロードを完了するには、各アップロードから Amazon S3 に返される s が必要であることがわかりましたList<PartETag>。それで、私の次の質問は、ブラウザからチャンクがアップロードされている間に、PartETagこれらすべての s をどのように保存するかということでした。PartETag私が最初に考えたのはPartETag、応答で各チャンクを送信し、それらのクライアント側を保存できるということでした。これらすべての s を送信できるように、最後のチャンクがいつアップロードされているかを知る方法があるかどうかはわかりませんPartETag。そうでない場合は、毎回持っているすべてのものを送信する必要があり、最後のリクエストのみがそれらを使用します。これはすべて私には少しハッキーなようです。

ですから、誰かが以前にこれに対処したことがあると思います。これを行う良い標準的な方法はありますか?

アプリ サーバーでファイルを作成してから S3 に送信することを考えましたが、アプリ サーバーが複数あると、チャンクが同じ場所に配置されるとは限りません。

私が持っていた別の考えは、アップロード中にこのすべての情報をデータベースに保存することですが、チャンク要求ごとにデータベースにアクセスする必要があるかどうかはわかりませんでした. これ以外にオプションはありますか?

どなたでもご協力いただければ幸いです。

0 投票する
1 に答える
1169 参照

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 は別の署名要求を送信します。これには、ヘッダー (フォーマット済み、匿名化済み) のみが含まれます。

応答には署名のみが含まれます (フォーマット済み):

その場合、OPTIONSAmazon S3 へのリクエストは失敗します。

応答:

  • ステータス: 403
  • 本体:

応答ヘッダー:

テストケース:

  • より小さい.mov, .mp3, .pdf,.logファイルでテスト済み: コース #1 (成功)
  • より大きなファイル (同じタイプ) でテスト済み: コース #2 (不合格)

違いの原因は何ですか?どうすれば修正できますか/修正する必要がありますか?