ファイル挿入(アップロード)について・・・

2011年8月16日 at 1:32

いつも使わせて頂いております。

ファイルについて質問させて頂きたいのですが、新規ページを作成し、そこにPDFやJPGのファイルをアップロードしたいのですが、ダウンロードで閲覧するのではなく、ページに貼り付けておく事は可能でしょうか?

とくにPDFをそのまま表示できればと思うのですが無理でしょうか?

よろしくお願いいたします。

Re: ファイル挿入(アップロード)について・・・

2011年8月16日 at 13:13
画像は、記事ブロックを作成して「画像を追加」メニューを選択し、ファイルマネージャで画像をクリックしてメニューから「選択」を選択することで埋め込むことができます。

PDFは、concrete5に限らずHTMLではページ内に埋め込んで表示することはできませんので、同じく記事ブロックの「ファイルを追加」メニューを使用してください。
 

Re: Re: ファイル挿入(アップロード)について・・・

2011年8月20日 at 1:29
ありがとうございます。

やっぱり無理なんですね。

了解です。
 

Re: ファイル挿入(アップロード)について・・・

2011年8月16日 at 13:38
yamanoiです。

PDFファイルをクリックするとブラウザ内で表示したい
ということでしょうか。
concrete5では、今のところできません。

解決策を1つ紹介
concrete/controllers/download_file.phpを
controllers/download_file.phpにコピーしてハックする方法もあります。
http://www.yamanoi.org/concrete5/hack/download/
 

Re: Re: ファイル挿入(アップロード)について・・・

2011年8月17日 at 10:10
yamanoiです。

mimeを指定する方法として
helppers/file.phpでFileHelperのforceDownloadの一部を書き換えます。
中身は、元のconcrete/helpers/file.phpの関数をベースに記述します。
<?php
defined('C5_EXECUTE') or die("Access Denied.");
class SiteFileHelper extends FileHelper {
public function forceDownload($file) {
// ここに中身を書く
}
}

PHP5.3を使っていれば、先頭でこんな感じ
if ( ! function_exists('finfo_open') ) {
header('Content-type: application/octet-stream');
} else {
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mime_type = finfo_file($finfo,$file);
header("Content-type: $mime_type");
}

それ以外だと、元の関数でコメントアウトしてある、下が有効かもしれません。
/*
$h = Loader::helper('mime');
$mimeType = $h->mimeFromExtension($this->getExtension($file));
header('Content-type: ' . $mimeType);
*/
 

Re: Re: Re: ファイル挿入(アップロード)について・・・

2011年8月20日 at 1:34
お手数をおかけしてすみません。

書換えをしなくてはいけないのですね・・・

初心者の方がお使いなので、無理そうですので諦めます。

ありがとうございました。