0

ついにこれを達成する方法を見つけました!

xsendfileを有効にしてヘッダーパラメータAccept-Rangeを設定するのと同じくらい簡単であることがわかりました

以下の私の答えを読んでください

(ちなみに、以下のブロック引用では、私が行ったように、一般的な落とし穴の初心者を書きました。手動でプログラムする必要があると考える傾向があります)

URLは次のようにする必要があります:mysite.com/get_file?file_point=100->これはバイト100から読み取られます

  1. パラメータからオフセットを取得します(この例ではfile_pointパラメータ)
  2. ファイルのサイズを調べる(File.size)
  3. オフセットから長さまでファイルを読み取ります(PHPのfseekに相当)
  4. send_fileを使用してファイルを送信します

上記の手順でRubyで手順3を実行する方法がわかりません。

4

1 に答える 1

1

これは私がそれをした方法でした:

response.header["Accept-Ranges"] = "bytes"
send_file product.pack.path, :type => product.pack_content_type, :x_sendfile=>true

サーバー担当者にmod_xsendfileを設定するように依頼しましたが、自分で設定する方法がわかりません。

ここでのチュートリアル:http ://www.devsource.com/c/a/Techniques/Resumable-File-Downloads-with-ASPNet/2/

ここでcontent-lengthについて読んでください:http ://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13

ストリーミングについては、http://api.rubyonrails.org/classes/ActionController/Streaming.htmlから入手できます。

于 2010-05-21T06:14:07.820 に答える