请问为什么 Laravel 无法解析 unity 生成的 gif?这里有什么特别的验证机制吗
系统环境:
- ubuntu 16.04
- php7.0
-
laravel 5.5
接口代码:
use Illuminate\Http\Request; use App\Http\Controllers\Controller; use Illuminate\Support\Facades\Storage; $uid = $request->uid; Storage::disk('public_path')->putFileAS('myLike', $request->file('photo'), $uid . '.gif'); return env('APP_URL') . '/myLike/?uid=' . $uid;
问题:
公司有一个项目,前端使用unity拍照生成gif图片上传到服务器端。使用网上的gif图片用postman测试接口,一切正常,上传没有。然而使用unity生成的gif图片用postman测试却报错:
下面是出现问题gif:
fopen(/home/api/public
很明显了嘛,最后的文件名没拼接上。
@johnlui 可能我没表述清楚,如果是文件名没拼接上,那应该所有gif图片都不能上传,可是别的gif可以上传
那就是这张图片转换失败,得到的文件名是 null
@johnlui 应该也不是,报错信息显示识别的是个文件夹。。。如果识别为null,报错不应该是这样
@johnlui 会不会是生成的gif头标识符有问题,让laravel识别成了文件夹
文件路径是 文件夹.$fileName,如果文件名为 null 可不就剩文件夹了嘛
@johnlui 我保存的文件路径是
myLike/$uid.gif
,$uid
是标识,应该不会是为null
,报错里已经显示出了$uid
为test2312
如果你只是像保存一下文件,不用这么繁琐的。。。。
目测这张图片触发了 Storage 的一个 bug
@johnlui 我去反馈一下试试,非常感谢老哥的帮助