2016-09-06 1 views
1

Letzte Woche entdeckte ich das Unisharp file manager Plugin. Nach viel auf dem Plugin von Tweaking gelang es mir, das Plugin zu bekommen in meinem Browser arbeiten, ohne eine neue Seite öffnetLaravel Unisharp Dateimanager Datei und Bildmanager kombinieren

Ein Blick aus meinem Browser (wie Sie mit dem Plugin sollten bekommen): enter image description here enter image description here

Das erste Bild sind meine Bilder, die ich hochgeladen habe und das zweite Bild ist meine Dateien, die ich hochgeladen habe.

Jetzt ist mein Problem, dass ich versuche, sie beide in 1 Dateimanager zu bekommen, so dass die Dateien und Bilder zusammen in einem Dateimanager sind.

ich versucht habe, die config/lfm.php, öffentlich/Fotos/in public/Dateien zwicken/wie sehen Sie hier unten

enter image description here

wie, wo die Dateien verknüpft sind, sondern wenn ich tun, dass die Bilder und Dateien, die i vorherigen uploaded wont Last

enter image description here

Also, wenn Sie Anregungen bekam darauf haben, wie die Dateien und Bilder-Manager miteinander zu kombinieren oder bekam einen anderen Vorschlag für ein anderes Plugin, es wäre toll,

Grüße,

Noah

Antwort

0

Also, nachdem Sie den Kommentar @Stream Huang. Ich schaffe es, es funktioniert, es ist wahr, dass das Bild Daumen und die Dateien wie ein pdf nicht hat.

Das erste, was ich war

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

Danach habe ich eine Variable bei der [email protected] Änderung tat gemacht, der die Erweiterung/Dateinamen der Datei, die Sie gerade es hochgeladen und Filter auf die Bilder.

$fileName = $file->getMimeType(); 

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

Im ItemController fügte ich eine [$key] dem Array

[email protected] (original)

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

zu:

$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, 
]; 

Der Titel, Alt und ID sind comming aus die Datenbank (Wenn ich ein Bild hochlade, muss ich es zuerst eingeben ein Titel, alt und das Bild vor dem Hochladen. Die Daten, die ich habe, speichere ich in der Datenbank, damit ich diese Daten für einen Nachrichtenartikel verwenden kann).

Ich habe auch ein paar Blätter in erster Linie das Element und der Index

item.blade.php (original)

@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 (edit)

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

Die file_info[$key]['name'] ist ein Dateiname, kommt aus der Datenbank wie image.jpg, ich bekomme die letzten 3 Zeichen des Namens, also ist es am wahrscheinlichsten .jpg oder .png wenn es ai ist Magier.

Danach überprüfe ich, ob $extension Variable ein jpg oder ein PNG ist, sonst mache ich es ein Symbol davon.

@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

Vollständige Offenlegung: Ich bin der Paketbetreuer, Arbeit für UniSharp.

Sie haben es gut gemacht! Das einzige Problem ist, Bilder haben Daumen, während Dateien nicht (Dateien zeigen Symbole). Wenn der get-Parameter "type" auf "Image" gesetzt ist (link here), werden Dateien und Bilder angezeigt, aber die Thumbnails der Dateien bleiben bestehen.

Lösung: Sie können Standardbild wie unten, im Falle von defekten Dateidaumen einstellen.

<img onclick="useFile('{{ $file_name }}')" onError="this.src='/img/default.jpg'"> 
Verwandte Themen