carono / yii2-file-upload
文件存储表
1.2.3
2022-10-13 20:08 UTC
Requires
- carono/yii2-migrate: @stable
- yiisoft/yii2: ^2.0
README
安装
- 创建迁移并从
carono\yii2file\FileUploadMigration
继承
class m170927_171858_fu extends \carono\yii2file\FileUploadMigration { public $tableName = '{{%file_upload}}'; }
- 或者执行
yii migrate --migrationPath=@vendor/carono/yii2-file-upload/migrations
如何使用
- 在您的模型表中添加
file_upload
的特性carono\yii2file\FileUploadTrait
- 之后,可以按照以下方式保存文件
FileUpload::startUpload('@runtime/test.txt')->process();
FileUpload::startUpload('http://example.com/file.txt')->process();
FileUpload::startUpload(yii\web\UploadedFile $file)->process();
可以按顺序添加额外的属性
FileUpload::startUpload('@runtime/img.png') ->slug('user_avatar') // поле slug ->data(['id'=>1]) // произвольные данные, записываются в data как json ->name('user_avatar.png') // сохраним файл в базе с новым именем ->folder('@app/new_destination') // сохраним файл в новой папке, по умолчанию @app/files ->delete(false) // не удалять файл источник по завершению, по умолчанию - удаляем ->process(); // сохраним модель
特性的属性
特性的方法
特点
请注意,在重写 getRealFileName() 函数时,将影响保存新文件的名称,请参阅 carono\yii2file\Uploader
了解更多
不要忘记为存储添加时间添加行为 yii\behaviors\TimestampBehavior
由于错误时将抛出 Exception,因此必须将文件上传包裹在 try...catch 中