2016-09-06 7 views
1

先週私はUnisharp file managerプラグインを発見しました。 (あなたがプラグインを取得することになって同じように)私はプラグインが新しいページを開くことなく、私のブラウザで働いて得ることができ、プラグインに微調整をたくさんした後 Laravel unisharpファイルマネージャファイルと画像マネージャを結合

私のブラウザからの眺め: enter image description here enter image description here

最初の画像は自分がアップロードした画像で、2番目の画像はアップロードしたファイルです。

私の問題は、1つのファイルマネージャで両方を取得しようとしているため、ファイルとイメージが1つのファイルマネージャにまとめられていることです。

あなたは

enter image description here

の下にここで見るように、私はちょうどファイルがリンクされているところのようですが、ときに私/公共/ファイルに/、設定/ lfm.phpを微調整するために、パブリック/写真を試してみましたあなたが一緒にファイルや画像管理を組み合わせする方法上の任意の提案を得たかのための他の提案を得た場合だから、私は、以前アップロードされた文句を言わないの負荷を持っている画像やファイルを

enter image description here

を行いますそれは素晴らしいことだ他のプラグイン、

挨拶、

ノア

答えて

0

だからコメント@Stream Huangを見た後。私はそれをうまく動作させることができました。そのイメージが親指を持っていて、pdfのようなファイルはありません。私がやった

まず最初は、私はあなただけでアップロードされたファイルの拡張子/ファイル名を取得し、画像上でそれをフィルタリングする変数を作っ[email protected]変更その後

if ('Images' === $this->file_type) { 
    $this->makeThumb($dest_path, $new_filename); 
} 

にありました。ItemController

$fileName = $file->getMimeType(); 

if ($fileName == "image/jpeg" || $fileName == "image/png") { 
    $this->makeThumb($dest_path, $new_filename); 
} 

Iは、(元の)

$file_info[$key] = [ 
    'name'  => $file_name, 
    'size'  => $file_size, 
    'created' => $file_created, 
    'type'  => $file_type, 
    'icon'  => $icon, 
]; 

に配列

[email protected][$key]を追加:

$file_info[$key] = [ 
    'name' => $file_name, 
    'size' => $file_size, 
    'created' => $file_created, 
    'type' => $file_type, 
    'icon' => $icon, 
    'title' => $file_data[$key]->title, 
    'alt' => $file_data[$key]->alt, 
    'id' => $file_data[$key]->id, 
]; 

タイトル、ALTおよびIDから来れますデータベース(私は画像をアップロードするときに最初に入力する必要がありますタイトル、alt、アップロードする前の画像私が持っているデータはデータベースに保存されているので、ニュース記事のようにそのデータを使うことができます)。

Iはまた、主項目とインデックス

item.blade.php(オリジナル)

@if($type == 'Images') 
    <img id="{{ $file_name }}" src="{{ asset($thumb_src) }}" class="pointer" onclick="useFile('{{ $file_name }}')"> 
@else 
    <i class="fa {{ $file['icon'] }} fa-5x" style="height:200px;cursor:pointer;padding-top:60px;" onclick="useFile('{{ $file_name }}')"></i> 
@endif 

item.blade.php(編集)

$file_name = $file_info[$key]['name']; 
$filebroken = substr($file_name, -3); 
$extension = array_pop($filebroken); 

file_info[$key]['name']ファイル名をブレードのカップルを変更image.jpgのようにデータベースから取得しています。その名前の最後の3文字を取得します。その可能性が最も高い.jpgまたは.pngそのai魔法使い。

その後、私は$extension変数がjpgかpngかどうかをチェックしています。そうでなければ、そのアイコンにします。

@if($extension == 'png' || $extension == 'jpg') 
    <img id="{{ $file_name }}" src="{{ asset($thumb_src) }} class="pointer" onclick="useFile('{{ $file_name }}')"> 
@else 
    <i class="fa {{ $file['icon'] }} fa-5x" onclick="useFile('{{ $file_name }}')"></i> 
@endif 
1

完全な開示:私はパッケージメンテナ、UniSharpための作業です。

あなたはそれをうまく行った! 唯一の問題は、画像が親指を持っている間にファイルが表示されないことです(ファイルにはアイコンが表示されます)。 getパラメータ "type"が "Image"(link here)に設定されていると、ファイルと画像が表示されますが、ファイルの親指は壊れたままになります。

解決策:ファイルサムが壊れている場合は、以下のようにデフォルト画像を設定することができます。

<img onclick="useFile('{{ $file_name }}')" onError="this.src='/img/default.jpg'"> 
関連する問題