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