azizyus/laravel-upload-helper

这个包可以帮助您捕获上传的文件(可能关于图片上传有很好的功能)

2.2.2 2021-08-23 17:47 UTC

This package is auto-updated.

Last update: 2024-09-23 21:34:27 UTC


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