我正在从用户获取文件输入(任何文件类型)。我希望他们查看“如果它是图像”或下载链接。我该怎么办?
答案 0 :(得分:3)
找出有问题的文件的mime类型,并据此确定以下动作。
API参考: https://laravel.com/api/5.7/Illuminate/Filesystem/Filesystem.html#method_mimeType
答案 1 :(得分:-1)
因此,在我的刀片文件中,我通过获取查询对象并比较浏览器支持的图像类型来做到这一点
@if(strtolower(File::extension($book->filename))=='jpg'||
strtolower(File::extension($book->filename))=='bmp' ||
strtolower(File::extension($book->filename))=='png' ||
strtolower(File::extension($book->filename))=='gif' ||
strtolower(File::extension($book->filename))=='svg' ||
strtolower(File::extension($book->filename))=='apng' ||
strtolower(File::extension($book->filename))=='bmp ico'||
strtolower(File::extension($book->filename))=='png ico')<img src="{{ asset("uploads/$book->filename") }} "height="113px" width="96px" />@else<a href="{{('uploads/'.$book->filename)}}" target="_blank"><button>Click here to download file</button></a>
@endif
这看起来很沉重,但是获取图像类型要容易得多,然后检查浏览器可以上传的所有类型。因此,我提取了它们,其余的将以可下载链接的形式出现。另外,使用use Response;
和use File;
。它将顺利运行。