上周我发现了Unisharp file manager插件。 在对插件进行了大量调整之后,我设法让插件在我的浏览器中运行而无需打开新页面(就像你应该使用插件一样)
第一张图片是我上传的图片,第二张图片是我上传的文件。
现在我的问题是我正在尝试将它们都放在1个文件管理器中,因此文件和图像在一个文件管理器中。
我试图将config / lfm.php,public / photos /调整为public / files /,如下所示
就像文件链接的位置一样,但当我这样做时,我之前上传的图片和文件不会加载
因此,如果您有关于如何将文件和图像管理器组合在一起的建议,或者对其他插件有其他建议,那就太棒了,
问候,
诺亚
答案 0 :(得分:1)
完全披露:我是软件包维护者,为UniSharp工作。
你做得很好! 唯一的问题是,图像有拇指而文件没有(文件显示图标)。 当get参数“type”设置为“Image”(link here)时,文件和图像将显示,但文件的大拇指将被破坏。
解决方案:如果文件大拇指损坏,您可以设置如下图所示的默认图像。
<img onclick="useFile('{{ $file_name }}')" onError="this.src='/img/default.jpg'">
答案 1 :(得分:0)
所以看到评论@Stream Huang之后。我设法让它工作,这是真的,图像有拇指和像pdf的文件不。
我做的第一件事是UploadController@Upload
更改
if ('Images' === $this->file_type) {
$this->makeThumb($dest_path, $new_filename);
}
之后,我创建了一个变量,用于获取刚刚上传的文件的扩展名/文件名,并在图像上进行过滤。
$fileName = $file->getMimeType();
if ($fileName == "image/jpeg" || $fileName == "image/png") {
$this->makeThumb($dest_path, $new_filename);
}
在ItemController
我向数组添加了[$key]
ItemController@getFileInfos
(原创)
$file_info[$key] = [
'name' => $file_name,
'size' => $file_size,
'created' => $file_created,
'type' => $file_type,
'icon' => $icon,
];
到:
$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和上传之前的图像。我拥有的数据我将它存储在数据库中,所以我可以像新闻文章那样使用这些数据。)
我还更改了几个刀片,主要是项目和索引
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。
之后,我正在检查$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