azizyus / laravel-upload-helper
这个包可以帮助您捕获上传的文件(可能关于图片上传有很好的功能)
2.2.2
2021-08-23 17:47 UTC
Requires
- php: >=7.2
Requires (Dev)
- laravel/laravel: 7.*
README
这是一个对Laravel中UploadedFile类的非常基本的包装和辅助工具,
它在您保存和命名上传的文件时提供帮助。(或者调整大小,但您需要额外的包来实现这一点)
我可以使用哪些示例?
public function UploadControllerMethod(Request $request) { //"file" is you file input name $file = UploadedFileCatcher::catchFile("file"); //catch your file, return value is IUploadedFile $uploadHelper1 = new UploadHelper($file); //pass that file as param to UploadHelper $uploadHelper1->setNamingPolicy(new RandomNamePolicy()); //an implementation which is renames your uploaded file $uploadHelper1->setFileTreatment(new StandardFileTreatment()); //need to process your file?, do it here $uploadHelper1->saveFile(); //save the file where ever you want, default is }
那是什么堡垒?
假设您上传了一个X文件,因此需要不同的变体,如a,100x100+前缀命名的和原始+随机命名的,猜猜看?
$file = UploadedFileCatcher::catchFile("file"); $prefixed100x100UploadHelper = new UploadHelper($file); $prefixed100x100UploadHelper->setNamingPolicy(new RandomPrefixedNamePolicy("my-prefix")); $prefixed100x100UploadHelper->setFileTreatment(new FixedSizeImageFileTreatment(100,100)); //width, height //as you can see i didnt saved it $originalNamedImageWithRandomName = new UploadHelper($file); $originalNamedImageWithRandomName->setNamingPolicy(new NormalNamingPolicy()); $originalNamedImageWithRandomName->setFileTreatment(new StandardFileTreatment()); $uploadBunker = new UploadBunker(); $uploadBunker->addAmmunition($prefixed100x100UploadHelper)->addAmmunition($originalNamedImageWithRandomName); $uploadBunker->fire(); //these will give you 2 version of that file you uploaded