web-dev-qa-db-ja.com

PDFファイルのダウンロードリンクを直接設定するにはどうすればよいですか?

enter image description here

コンテンツタイプのファイルフィールドを介してpdfファイルを追加し、ダウンロードリンクを表示します。ユーザーがクリックすると、通常のダウンロードと同じようにコンピューターに保存されます。

3
daniel

DownloadFile モジュールを試してください。コンテンツタイプで、フィールド表示フォーマッターをダウンロードファイルまたは必要に応じたものに変更します。

3
arpitr

注:フィールドでのみ機能するため、ファイル強制ダウンロードモジュールを使用できませんでした... IMCEでファイルをアップロードし、コンテンツ本文にそれらのプライベートファイルへの通常のリンクを設定しました...ヘッダーの設定を使用する必要がありましたApacheの側を介してhttpd.confまたは.htaccessを介して上記の答えを使用して...モジュールでこれを行うこともできます。

<?php
function mymodule_mimetype_override_file_mimetype_mapping_alter(&$mapping) {  
  $new_mime_type = 'application/octet-stream'; //already in mimetypes so below array addition wont happen, but put here in case you want to add your own type

  if ( !in_array($new_mime_type, $mapping['mimetypes'])) {
    $mapping['mimetypes'][] = $new_mime_type; //mapping['mimetypes']['octetstream']
  }
  $index = array_search($new_mime_type, $mapping['mimetypes']);
  $mapping['extensions']['pdf'] = 15; //manually setting for now, could have used $index; //15 is octet-stream, 18 is pdf
}

//also added this for my HTTPS site since IE8 couldnt download/display any files if it doesn't have certain cache headers for ssl websites ... heh, booooooo
function mymodule_override_file_download($filepath) {
  header("Cache-Control: private, must-revalidate"); //may have to set Pragma too but not in my case
}
0

アクセス権がある場合、次のスニペットをサイトの.htaccessファイルに配置すると、最近の多くのブラウザーで強制的にダウンロードされますが、Cliveは正しいです。この設定)。次の構文はLinux上のApacheの構文であり、Windows環境では調整する必要がある場合があります。これをiPhoneで機能させる方法を知っていればいいのですが(誰かが知っている場合-教えてください!)。私は大文字と小文字のファイル拡張子をカバーするはるかにエレガントな方法があると確信しています(ちょっと-私が進むにつれてこれを作ります;)

<FilesMatch "\.(mov|mp3|jpg|pdf|MOV|MP3|JPG|PDF)$">
  ForceType application/octet-stream
  Header set Content-Disposition attachment
</FilesMatch>
0
Anne Bonham

「ファイル」モジュールを有効にします(Drupal distrによって提供されます)。次に、コンテンツタイプ(構造内)に移動し、新しいコンテンツタイプを追加するか、既存のものを選択します。

コンテンツタイプを保存した後、「フィールドの管理」を参照してください。新しいフィールド(ラベルとフィールド名を入力)を追加し、[Type of this =File]を選択して、[保存]をクリックします。次に、拡張機能でPDFを入力し、保存場所を入力します。

ここで、このコンテンツタイプを作成してみてください。PDFファイルのアップロードが可能になり、保存後にダウンロードするための直接リンクが表示されます。それが表示されない場合は、コンテンツタイプにアクセスして「ディスプレイの管理」タブ。

ソースから取得 https://stackoverflow.com/questions/7708452/how-do-i-setup-download-links-for-pdf-files

また、ユーザーにダウンロードのみを強制する場合は、このモジュールを使用します File Force Download

ファイル強制ダウンロードを使用すると、ユーザーのWebブラウザーに、ファイルをブラウザーウィンドウに表示する代わりに、強制的にディスクにダウンロードさせることができます。

今日のWebブラウザーは、テキストファイル、さまざまな画像、ビデオ、オーディオ形式、PDFドキュメント、Flashムービーなど)のさまざまな種類のメディアを直接レンダリングするように事前に構成されています。これらのファイルを右クリックして[名前を付けて保存]を選択して保存すると、ファイルを最初からダウンロードできるようにすることが望ましい場合があります。ファイル強制ダウンロードでは、特定のHTTPヘッダーを持つファイルを提供することでこの問題を解決します。ファイルをブラウザウィンドウに表示するのではなく、ユーザーのディスクにダウンロードするようにWebブラウザに指示します。

0
Bala