問題タブ [sendfile]

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 投票する
2 に答える
2771 参照

nginx - rails send_file with nginx

Rails 3のsend_file経由でファイルを送信しようとしています...ファイルが見つかり、送信されたようですが、何らかの理由で受信されません...

また、:disposition =>'inline'が設定されていても、ブラウザには常に「ダウンロードボックス」が表示されます...

nginx confでは、sendfileがonに設定されています...

0 投票する
4 に答える
11176 参照

ruby-on-rails - RSpec send_file テスト

ファイルを送信するコントローラーアクションをテストするには?

テストでそれを行うとcontroller.should_receive(:send_file)、何もレンダリングされないため、「Missing template」で失敗します。

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

ruby-on-rails - railssend_fileとsend_dataはゼロバイトのファイルを送信します

PDFをユーザーに返送しようとしていますが、send_fileとsend_dataを機能させるのに深刻な問題があります。私は次のようにPDFファイルを作成しました:

ブラウザはダウンロードを要求しますが、ダウンロードされたfilled.pdfファイルのバイト数はゼロです。new_tmp_pathに有効なpdf(適切な塗りつぶされたコンテンツ)が含まれていることを確認しました

私はこれを試しました:

しかし、これでも同じダウンロード->ゼロバイトの問題が発生しますが、サーバー上のファイル(new_tmp_path)には完全なコンテンツが含まれています。

よろしく、

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

ruby-on-rails - Rails の SSL Web サイトから、ポート 443 サフィックスの URL に転送されます

まず、これは私の最初の SSL Web アプリケーションなので、ひどく間違ったことをしている可能性があります。https://bla.be/でクライアントからのリクエストごとに SSL を有効にしました

それは箱から出してうまくいくように見えました。SSL を使用した Web ホスティングを注文しましたが、構成を行う必要はないようでした。

ただし、次の 2 つの問題が発生しました。

  1. 特定のリンクをクリックするたびに (どのリンクかは本当にランダムに見えます)、URL プレフィックスが HTTPS から HTTP に変形され、ドメイン名の末尾にポート :443 サフィックスが追加されます。機能しないリンクが発生します。(例: https://bla.com/view/3http://bla.com:443/view/3になります)
  2. sendfile を介してファイルをダウンロードすると、常にこれが行われます。

    send_file datafile.document.path, :type => datafile.document_content_type, :disposition => 'attachment', :x_sendfile => true

リンクに :secure => true を追加しようとしましたが、何もしないようです。

必要な設定を忘れていませんか? または、ホストの設定が間違っていますか?

前もって感謝します。

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

python - Pythonでバイナリモードで大きなファイルをダウンロードするには?

Pythonでダウンロード機能をコーディングしています。ファイルサイズが 1GB を超えています。サーバーは Linux、HTTP サーバーは Karrigell です。クライアントはブラウズ、Firefox または IE です。大きなトラブルに遭遇します。

最初に、sys.stdout() を使用してファイル コンテンツを送信します。

問題はサーバーのメモリ不足です! 私は、stdoutが最初にコンテンツをメモリに書き込み、次にメモリがソケットに送信されることを知っています。

ということで、関数を修正。コンテンツをソケットに直接送信します。py-sendfile モジュールを使用します。http://code.google.com/p/py-sendfile/

今回は、サーバーメモリはOKですが、ブラウズダイ!ブラウズ メモリが急速に上昇します。ソケットがファイル コンテンツ全体を受け入れるまで解放されません。

これらの問題に対処する方法がわかりません。2 番目のアイデアは正しいと思います。コンテンツをソケットに直接送信します。しかし、データを受け入れている間、ブラウズでメモリを解放できないのはなぜでしょうか?

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

ruby-on-rails - Rails を使用した Google ドキュメント ビューアー

Ruby on Rails サイトに Google ドキュメント ビューア (http://googlesystem.blogspot.com/2009/09/embeddable-google-document-viewer.html) を埋め込もうとしていますが、「申し訳ありませんが、このタイプの/ ドキュメントの表示はサポートされていません。」私の Rails コードは、次のような send_file 呼び出しを使用します。

サーバー ログでは、ファイルが送信されていることを確認できますが、ドキュメント ビューアーには表示されません。どうすればこれを修正できるか、誰にもアイデアがありますか?

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

text - sendfile()は、通常のテキストファイルをコピーするために機能しません

sendfileの問題は、ファイルfdsを使用して2つのテキストファイルをコピーできないことです。エラーはEINVALです。//記述子が無効またはロックされていないか、mmap()のような操作をin_fdで使用できません。

これは本当にどういう意味ですか?

sendfile(man sendfile)のmanページから、このステートメントを見つけました。2つの通常のファイルをコピーすることが機能するかどうかはわかりません。

現在(Linux 2.6.9):in_fdは、mmap()のような操作をサポートするファイルに対応している必要があります(つまり、ソケットにすることはできません)。out_fdはソケットを参照する必要があります。

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

ruby-on-rails - Rails、BLOBデータベースからダウンロード

アップロードデータをデータベースのblobファイルタイプに保存する際に問題が1つあります。

今、私はそれをダウンロードしたいです。

それを管理する方法

私はこの方法を試しました(document_fileはblobデータを含むフィールドです)

send_file @ attachment.document_file、:disposition=>'添付ファイル'

しかし、エラーが発生します...

誰でも助けることができますか?

ありがとう :)

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

ruby-on-rails - Ruby on Railsのsend_dataとsend_fileの違いは何ですか?

ストリーミングとファイルのダウンロードに最適なのはどれですか?

例を挙げてください。

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

ruby-on-rails-3 - この場合、Amazon S3 は何か役に立ちますか?

アップロードされたメディア ファイル (ビデオとオーディオ) をローカルではなく S3 でホストするかどうかを考えています。ダウンロードごとにユーザーのアクセス許可を確認する必要があります。

get_fileしたがって、最初にユーザーのアクセス許可を確認し、次に S3 からファイルを取得し、send_file を使用してユーザーに送信する のようなアクションがあります。

ただし、この場合、サーバーは (不必要に) 最初に S3 からファイルをダウンロードしてから、ユーザーに送信します。S3 のユースケースは、Rails/HTTP サーバー スタックをバイパスして負荷を軽減することだと思いました。

私はこれを間違って考えていますか?

PS。ファイルのアップロードには CarrierWave を使用しています。それが関連しているかどうかはわかりません。