开发者工作中,项目代码开发提高效率,往往会使用一些github上面的一些扩展类,这里举例说明一下遇到的情况。
一、使用laravel-admin框架开发管理后台文件或者图片上传
情景:运营或者产品通过后台同一个文件名的图片或文件上传两次,其时间间隔较远(不同管理模块地方可能需要用同一个图片展示),二次上传(用同一个文件且名字一样)发现之前已经上传过的连接访问404。
看看源码找找原因总结以下情况:
001
002
描述:项目中调用下面扩展类,相当于直接走调用oss文件管理模块拥有的权限,新增修改等。laravel-admin提交刚刚类似情况同个名字会先去检查,发现后会清理并重命名,以框架的命名规则生成新的文件名,源文件内容是一致的,但是之前的url如写死推广,就会访问404。
protected function generateUniqueName(UploadedFile$file)
{
return md5(uniqid()).'.'.$file->guessExtension();
}
二、调用类(快速调用上传阿里配置扩展)
三、总结
上面的情况,也是可以避免一下需求方等其他人操作情况,可以以下这样:
1、提交文件前可以做一次检验同名文件情况;
2、规范一些运营或产品注意事项等;