evgen-dev/plupload-for-laravel
Composer 安装命令:
composer require evgen-dev/plupload-for-laravel
包简介
Laravel/Plupload - Handle large file uploads
关键字:
README 文档
README
Laravel plupload support.
Handeling chunked uploads.
Installation
Install using composer
composer require evgen-dev/plupload-for-laravel
Add the provider to config/app.php
'providers' => [ EvgenDev\LaravelPlupload\LaravelPluploadServiceProvider::class, ]
And the facade for short record if you want
'aliases' => array( 'Plupload' => EvgenDev\LaravelPlupload\Facades\Plupload::class, ),
Using
1. Create localization file resources/lang/en/validation.php file if not exists and add lines:
return [ 'invalid_file_extension' => 'It is forbidden to upload .:extension files', 'max' => [ 'file' => 'The :attribute field must not be greater than :max :units.', ] ];
2. Add upload routes
Basic usage without any limitations:
Route::post('/upload', function(){ return Plupload::receive('file', function($file){ $file->move(storage_path() . '/plupload/', $file->getClientOriginalName()); return true; }); });
Limit uploading file size:
use EvgenDev\LaravelPlupload\Filters\Filesize; Route::post('/upload', function(){ return Plupload::sizelimit(3, Filesize::FILE_SIZE_UNITS_MB) ->receive('file', function($file){ $file->move(storage_path() . '/plupload/', $file->getClientOriginalName()); return true; }); });
Limit uploading file extensions:
Route::post('/upload', function() { return Plupload::extensions(['jpg', 'png', 'gif'])->receive('file', function($file){ $file->move(storage_path() . '/plupload/', $file->getClientOriginalName()); return true; }); });
Limit uploading file size and files extensions:
use \EvgenDev\LaravelPlupload\Filters\Filesize; Route::post('/upload', function() { return Plupload::sizelimit(5, Filesize::FILE_SIZE_UNITS_MB) ->extensions(['jpg', 'png', 'gif']) ->receive('file', function($file){ $file->move(storage_path() . '/plupload/', $file->getClientOriginalName()); return 'ready'; }); });
Usage in controller
use EvgenDev\LaravelPlupload\Facades\Plupload; public function upload(Request $request){ return Plupload::sizelimit(5, Filesize::FILE_SIZE_UNITS_MB) ->extensions(['txt']) ->receive('file', function($file){ $filename = uniqid().'.'.$file->extension(); $file->move(storage_path() . '/plupload/', $filename); return ['success' => true, 'filename' => $filename]; }); }
3. csrf-token validation
There are two ways.
1. Passing the token
Add in your blade file
<meta name="csrf-token" content="{{ csrf_token() }}">
in your Plupload inititalization JS file, add
headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') },
Don't forget to refresh the token after each request.
2. Disabling token validation
Add to your route rule:
->withoutMiddleware([\App\Http\Middleware\VerifyCsrfToken::class]);
It should turn out like this:
Route::post('/upload', function() { return Plupload::receive('file', function($file){ $file->move(storage_path() . '/plupload/', $file->getClientOriginalName()); return true; }); })->withoutMiddleware([\App\Http\Middleware\VerifyCsrfToken::class]);
4. Preventing chunk uploading after file size or extension error
Add to your JS file event handling:
uploader.bind('ChunkUploaded', function(up, file, response) { response = jQuery.parseJSON(response.response); if(response.error && (response.error.code == 413 || response.error.code == 415)){ alert(response.error.message); file.destroy(); } up.refresh(); });
Enjoy!
evgen-dev/plupload-for-laravel 适用场景与选型建议
evgen-dev/plupload-for-laravel 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 11 次下载、GitHub Stars 达 1, 最近一次更新时间为 2023 年 06 月 13 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「laravel」 「pluload」 「large files」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 evgen-dev/plupload-for-laravel 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 evgen-dev/plupload-for-laravel 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 evgen-dev/plupload-for-laravel 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Laravel/Plupload - Handle large file uploads
Seamlessly integrate Grok AI into Laravel applications with an elegant, developer-friendly package. Leverage powerful AI models for chat, automation, and NLP while maintaining Laravel's expressive simplicity.
Laravel 5/Plupload - Handle large file uploads
Laravel Plupload - Handle large file uploads - fork of jildertmiedema/laravel-plupload
erikwang2013/aetherupload-webman is a aetherupload plugin that is compatible with webman. Mainly suitable for distributed deployment, used to adapt to webman, with simple and fast installation.
Alfabank REST API integration
统计信息
- 总下载量: 11
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 16
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-06-13