問題タブ [knox-amazon-s3-client]
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.
android - 理由がわからない関数エラーが発生し続ける
ここで何が間違っているのかわかりません... nodejsでknoxライブラリを使用してAndroidからAmazonS3にビデオ(マルチパート)をアップロードしようとすると、このエラーが発生し続けます...ビデオを待つために非同期ライブラリも使用していますコールバック (cb) 次の関数を呼び出す前にアップロードを終了するには、ここに私のエラーがあります:
コードは次のとおりです。
amazon-s3 - Knox および Node.js を使用して Amazon S3 からダウンロードしたファイルが破損している
ファイルストレージ用の Amazon S3 バケットにアクセスするためにknoxを使用しています。私はあらゆる種類のファイルを保存しています - 主にMS Officeとpdfですが、バイナリまたはその他の種類のファイルである可能性があります。また、ストリーミングをサポートするために、 express 4.13.3 とbusboyとconnect-busboyを使用しています。ファイルをアップロードするとき、私は busboy で処理し、そこから knox 経由で S3 に直接送信するため、最初にローカル ディスクに書き込む必要がなくなります。
ファイルは正常にアップロードされます ( Transmitを使用して手動で参照およびダウンロードできます) が、ダウンロードに問題があります。
わかりやすくするために、ファイルをローカル ディスクに書き込むのではなく、メモリ内バッファーに保持します。GET リクエストを処理するために使用しているコードは次のとおりです。
ファイルがブラウザにダウンロードされます - 私は John Culviner のjquery.fileDownload.jsを使用しています - しかし、ダウンロードされたものは壊れていて開くことができません。ご覧のとおり.attachment
、MIME タイプと.append
追加ヘッダーのヘッダーを設定するために、express を使用しています (.set
代わりに使用しても違いはありません)。
Chrome でファイルをダウンロードすると、「Resource interpreted as Document but transferred with MIME type application/vnd.openxmlformats-officedocument.spreadsheetml.sheet:
」(Excel ファイルの場合) というメッセージが表示されるため、Express はヘッダーを正しく設定しており、ダウンロードされたファイルのサイズは、バケットを調べたときに表示されるものと一致します。
何がうまくいかないのですか?
javascript - Amazon S3 イメージが見つかりません。遅延を入れなければならない
knox というノード フレームワークを介して S3 に画像をアップロードする流星アプリがあります。
それはうまくいきますが、S3から画像へのリンクを含む成功の応答を受け取ったときに、次のようにユーザーに表示したいと思います:
ただし、これにより、コンソールに見つからない 404 が生成され、画像が表示されません。しかし、約 5 ~ 10 秒の遅延を設定すると、機能します。
URL を表示する準備が整う前に S3 から URL を取得するのはなぜですか? ユーザーに表示する前に準備ができるまで待つ方法はありますか?
amazon-s3 - s3 ファイルのヘッダーを変更する
s3 にファイルがある場合、そのファイルのメタデータを変更するにはどうすればよいですか?
事実上同じものになる新しいヘッダーを使用して、同じ場所に「コピー」できるようです。
これを行うためのノード クライアントとしてknoxを使用しています。Content-Type
問題のファイルのヘッダーは既に に設定されていますvideo/mp4
が、変更したいと思いapplication/octet-stream
ます。これは、このリンクによってブラウザがリソースをブラウザ ウィンドウに表示する代わりにダウンロードするようにするためです。
この関数のknox ソースへのリンク
応答は成功しましたが、s3 でリソースをリロードすると、ヘッダーが変更されたことがわかりません。
基になる API 呼び出しが次のようになっていることがわかります。
node.js - S3 set Access-Control-Allow-Origin ヘッダー
knox と node.js を使用して S3 にファイルをアップロードしようとしています:
ファイルは正常にアップロードされます。ただし、XHR でリソースを要求するとAccess-Control-Allow-Origin
、応答にヘッダーがないため失敗します。
このヘッダーを単一のリソースに設定することはできませんか? これをバケット全体に設定する必要がありますか?
javascript - モジュール エクスポートを使用して app.post と app.get を模倣する
私が現在取り組んでいるアプリケーションは、チュートリアルから得た情報を適用するのが少し難しかったです。このアプリは Express を使用していますが、完全には理解できない多くの独自のミドルウェアも備えています。
私の質問は、アプリケーションで app.get と app.post を利用する特定の方法に関するものです。アプリのどこにも、特定の方法でこれらのいずれかを使用する単一のポイントは実際にはありません。代わりに、使用する各コントローラーは、GET と POST をキーとして持つ module.export を備えており、これにはすべてのコードが含まれています。リクエストごとに使用する必要があります。これらはすべて、Tower.js に基づくミドルウェアにまとめられています (基本的に、ファイル パスと名前に基づいてコントローラーをビューにリンクします)。
これは、コードが次のようなものを使用するチュートリアルを解釈しようとすると、少し厄介であることが判明しました
ルートのコントローラーの POST 関数がこのように使用されている場合、これを再解釈する方法はありますか?
(PS はい、このアプリケーション内で multer を使用して S3 に画像をアップロードするのに問題があります)
node.js - S3 AWS から取得した OPT ファイルが壊れている
Knox を使用して AWS から OPT ファイルを正常に取得できますが、ファイルを使用しようとすると壊れています。これはエンコーディングの問題だと思いますが、正直なところよくわかりません。
最終ファイル サイズは、ファイルの実際のサイズよりも大きくなっています。
以下は簡単な例です。
それを修正する方法を知っていますか、または何が間違っているかについての考えを持っていますか?