0

html と css のいくつかのコースを終えたばかりで、他の言語の学習に進んでいます。しかし、今のところ、私は他の言語をまったく知りません。

音楽ウェブサイトを構築するためのコーディングを学んでいます。

私にとって最も重要なことは、私がサイトに掲載した曲を人々がダウンロードすることです。

これを行うためのコードを求めているわけではありません。その方法を学ぶために何が必要かを知りたい。

ファイルを右クリックして保存するだけでダウンロードしてほしくありません。リンクをクリックすると、ブラウザがダウンロードを開始します。

フォーラム、YouTube、およびこのサイトで検索しようとしましたが、見つけたものは、私が望んでいたものではないか、私の理解を超えています.

ですから、リンクを作成できるようになるために何を学べばよいかについての簡単なガイドをいただければ幸いです。リンクをクリックすると、ブラウザは音声ファイルをダウンロードするように求められます。

これが私のHTMLです。ダウンロード リンクを配置する予定の場所にラベルを付けました。

    <table>
                <tr><!--Off The Grid-->
<!--Song Title -->  <td>Off The Grid</td>
<!--Audio File -->  <td>
                        <object width="200px" height="15px">
                            <param name="src" value="../audio/off_the_grid_michael_pitluk.mp3">
                            <param name="autoplay" value="false">
                            <param name="controller" value="true">
                            <param name="bgcolor" value="#ffffff">
                            <embed src="../audio/off_the_grid_michael_pitluk.mp3" autostart="false" loop="false" width="75px" height="40px" controller="true" bgcolor="#ffffff"></embed>
                        </object>
                    </td>
<!--Download Link--><td>Code for a button to download the song</td>
<!--Social Media --><td>
                        <ul>
                            <li>Fill in with Tweet button</li>
                            <li>Fill in with FB share button</li>
                        </ul>
                    </td>
                 </tr>
    </table>
4

2 に答える 2

0

サーバーがファイルを送信する方法と、ブラウザがファイルを使用するように構成されている方法は、ブラウザが実行するアクションによって異なります。リンク自体には、これに関する入力はありません。

MIME タイプと、それらが HTTP ヘッダー内でどのように使用されているかを確認する必要があります。

例として:

  1. www.example.com/song.mp3 へのリンクをクリックすると、ブラウザがサーバーにリクエストを送信します。
  2. サーバーは、次のようなhttp ヘッダーを含むファイルを送り返します。content-type: audio/mp3
  3. 私のブラウザは、そのファイルを処理できるものがあるかどうかを確認します。その場合、ファイルを直接再生できます。(これは html と写真で起こることです)
  4. ブラウザーがハンドラーを見つけられない場合、ファイルを保存するように求められる場合があります (または、ファイルの保存を自動的に開始するだけかもしれません)。

「ダウンロード」動作を強制するには、ブラウザが自動的に処理しない MIME タイプを送信するようにサーバーを構成することができます。このアプローチは、通常、サーバー構成レベルで実行できます。ブラウザの動作を制御することはできず、一部のブラウザは依然としてファイルを処理しようとする可能性があることに注意してください。

または、 のようにコンテンツ処理ヘッダーを設定すると、ファイルを添付ファイルとして送信できますContent-Disposition: attachment; filename="song.mp3"。このアプローチでは、通常、この動作を行うために何らかの形式のコード (php、asp.net、ruby など) が必要です。

于 2013-07-05T02:48:57.237 に答える
0

Web サイト.htaccessには、サイトの「ルート ディレクトリ」にファイルが必要です (ルート ディレクトリは、サイトの残りのすべてのファイルを含むフォルダです)。サイトが Apache サーバー上で実行されていると仮定すると、そのようなファイルがない場合は、追加できるはずです。ファイルに名前を付けて、または.htaccessが存在する同じフォルダー(ルートディレクトリ) 内に配置するだけです。index.phpindex.html

その後、新しい.htaccessファイル内に次のようなものを追加できます。

AddType application/octet-stream .mp3

....mp3ブラウザで再生するのではなく、すべてのファイルを強制的にダウンロードします。

他の方法もありますが、サイトが書かれている言語によって異なります。ただし、厳密に html である場合は、これが唯一の選択肢です。

お役に立てば幸いです...何か明確にする必要がある場合はお知らせください。:)

于 2013-07-05T02:43:01.980 に答える