yii2-upload ¶
Yii2
ä¸çä¸ä¸ªä¸ä¼ ç»ä»¶, æ¯æç´ä¼ å°ç¬¬ä¸æ¹äºåå¨ã
å®è£ ¶
composer require huijiewei/yii2-upload
é ç½®åä½¿ç¨ Â¶
æ¬å°åå¨ Â¶
// å¨ Yii2 components é
ç½®éé¢å¢å
'upload' => [
'class' => \huijiewei\upload\drivers\LocalFile::class,
'path' => 'æ件ä¸ä¼ çç®å½',
'uploadAction' => 'site/upload-file',
'cropAction' => 'site/crop-image'
]
// æ ¹æ®ä¸é¢ç action é
ç½®ï¼å¨å¯¹åºçæ§å¶å¨éé¢å¢å
public function actions()
{
return [
'upload-file' => [
'class' => \huijiewei\upload\UploadAction::class,
],
'crop-image' => [
'class' => \huijiewei\upload\ImageCropAction::class,
]
];
}
// ä½¿ç¨ widgets å½å空é´ä¸ç widget
\huijiewei\upload\widgets\FileUploadWidget::widget([
'name' => 'file',
'value' => '',
]);
\huijiewei\upload\widgets\ImageUploadWidget::widget([
'name' => 'image',
'value' => '',
]);
// æ¯æå¤æ件
\huijiewei\upload\widgets\FileUploadWidget::widget([
'name' => 'files[]',
'value' => [],
'multiple' => true
]);
// äºåå¨æ¯æå¾çæ ·å¼
\huijiewei\upload\widgets\ImageUploadWidget::widget([
'name' => 'image',
'value' => '',
'imageStyleName' => '200x200' // å 为éè¦åæ¬å°åå¾å
¼å®¹æ以åªæ¯æ WxH æ ¼å¼çæ ·å¼å称
]);
// æ¬å°åå¨æ¯æå¾çåå²åè½
\huijiewei\upload\widgets\ImageUploadWidget::widget([
'name' => 'image',
'value' => '',
'cropImage' => [
'ratio' => 1,
'size' => [100,100]
]
]);
äºåå¨ Â¶
// é¿éäº OSS
'upload' => [
'class' => \huijiewei\upload\drivers\AliyunOSS::class,
'accessKeyId' => '',
'accessKeySecret' => '',
'endpoint' => '',
'bucket' => '',
'folder' => ''
],
// è
¾è®¯äº COS
'upload' => [
'class' => \huijiewei\upload\drivers\TencentCOS::class,
'appId' => '',
'secretId' => '',
'secretKey' => '',
'bucket' => '',
'region' => '',
'folder' => '',
],
// ä¸ç
'upload' => [
'class' => \huijiewei\upload\drivers\Qiniu::class,
'accessKey' => '',
'secretKey' => '',
'bucket' => '',
'folder' => '',
'uploadHost' => '',
'bucketHost' => '',
'bucketHttps' => false,
],
componentId èªå®ä¹ ¶
å¦ææ³è¦ä½¿ç¨å¤ä¸ªåå¨å¼æï¼å¯ä»¥å®ä¹ä¸åç componentId
ç¶å设置 widget å action ç uploadDriver å±æ§ä¸ºå¯¹åºç componentId å³å¯
ç´ä¼ å°äºåå¨ Â¶
该ç»ä»¶æ¯æç´ä¼ å°ç¬¬ä¸æ¹äºåå¨ï¼å®é ä¸å°±æ¯æ¨¡æäºè¡¨åä¸ä¼ çæ¹å¼ãä»æµç¨ä¸æ¥è¯´ç¸æ¯äºä¼ ç»çå ä¸ä¼ å°æå¡å¨ï¼åä»æå¡å¨ä¼ å°äºåå¨æ¥è¯´ï¼å°äºä¸æ¥è½¬åãä»æ¶æä¸æ¥è¯´ï¼åæ¥çä¸ä¼ é½ç»ä¸èµ°ç½ç«æå¡å¨ï¼ä¸ä¼ éè¿å¤§æ¶ï¼ç¶é¢å¨ç½ç«æå¡å¨ï¼å¯è½éè¦æ©å®¹ç½ç«æå¡å¨ãéç¨è¡¨åä¸ä¼ åï¼ä¸ä¼ é½æ¯ç´æ¥ä»å®¢æ·ç«¯åéå°äºåå¨ãä¸ä¼ éè¿å¤§æ¶ï¼ååé½å¨äºåå¨ä¸ï¼ç±äºåå¨æ¥ä¿éæå¡è´¨éã
ç®åæ¯æç第ä¸æ¹äºå¨åï¼
æ¬å°(LocalFile)
è
¾è®¯äº(TencentCOS)
é¿éäº(AliyunOSS)
ä¸ç(Qiniu)
> å
¶ä¸çæ¬å°ä¸ç®äºåå¨ï¼åªæ¯æ è¯ä»æ§æ¯ææ¬å°ç£çåå¨ã
æ©å± ¶
å½ç¶ï¼ä½ ä¹å¯ä»¥æå±æ¯æçäºåå¨ï¼ç»§æ¿ BaseUpload 并å®ç°å¯¹åºçæ¹æ³å³å¯
License ¶
MIT
If you have any questions, please ask in the forum instead.
Signup or Login in order to comment.