Informationen zum Code für die Verwendung des Webuploaders zum Hochladen von Bildern in yii2

不言
Freigeben: 2023-04-01 11:46:01
Original
2366 Leute haben es durchsucht

In diesem Artikel wird hauptsächlich das praktische Projekt zur Implementierung des Bild-Uploads in yii2 vorgestellt.

Das Hochladen von Bildern ist für die Anwendung fast ein Muss Ich habe die Dateieingabe von Kartik auch ausführlich beschrieben, aber viele Leute haben über verschiedene Probleme berichtet. Nachfolgend habe ich eine separate Komponente für die Verwendung des Webuploaders geschrieben. Diese Komponente kann eine Reihe von Problemen, die Yii2 während des Bild-Upload-Vorgangs verursacht, besser bewältigen. Sie unterstützt derzeit gemischte Uploads mehrerer Bilder, mehrerer Felder und mehrerer Modalitäten.

Lassen Sie uns vor der Einführung die Wirkung demonstrieren.

Installation

Es wird empfohlen, Composer für die Installation zu verwenden

$ php composer.phar require bailangzhan/yii2-webuploader dev-master
Nach dem Login kopieren

Verwenden Sie

params.php oder params-local.php, um Webuploader- und Domain-Konfigurationselemente hinzuzufügen

// 图片服务器的域名设置,拼接保存在数据库中的相对地址,可通过web进行展示
'domain' => 'http://blog.m/',
'webuploader' => [
  // 后端处理图片的地址,value 是相对的地址
  'uploadUrl' => 'blog/upload',
  // 多文件分隔符
  'delimiter' => ',',
  // 基本配置
  'baseConfig' => [
    'defaultImage' => 'http://img1.imgtn.bdimg.com/it/u=2056478505,162569476&fm=26&gp=0.jpg',
    'disableGlobalDnd' => true,
    'accept' => [
      'title' => 'Images',
      'extensions' => 'gif,jpg,jpeg,bmp,png',
      'mimeTypes' => 'image/*',
    ],
    'pick' => [
      'multiple' => false,
    ],
  ],
],
Nach dem Login kopieren

webuploader['baseConfig'] Siehe die offizielle Parameterbeschreibung des Webuploaders

Datei anzeigen

Einzelbild

<?php 
  echo $form->field($model, &#39;file&#39;)->widget(&#39;manks\FileInput&#39;, [
  ]); 
?>
Nach dem Login kopieren

Mehrere Bilder

<?php 
echo $form->field($model, &#39;file2&#39;)->widget(&#39;manks\FileInput&#39;, [
  &#39;clientOptions&#39; => [
    &#39;pick&#39; => [
      &#39;multiple&#39; => true,
    ],
    // &#39;server&#39; => Url::to(&#39;upload/u2&#39;),
    // &#39;accept&#39; => [
    //   &#39;extensions&#39; => &#39;png&#39;,
    // ],
  ],
]); ?>
Nach dem Login kopieren

Die Adresse des Controllers kann in Parametern angegeben werden .php oder params-local Konfigurieren Sie Yii::$app->params['webuploader']['uploadUrl'] in .php oder konfigurieren Sie das Serverelement in clientOptions. Das Datenformat, das der Controller zurückgeben muss, ist wie folgt:

// 错误时
{"code": 1, "msg": "error"}
// 正确时, 其中 attachment 指的是保存在数据库中的路径,url 是该图片在web可访问的地址
{"code": 0, "url": "http://domain/图片地址", "attachment": "图片地址"}
Nach dem Login kopieren

clientOptions siehe auch die offizielle Parameterbeschreibung des Webuploaders

Hinweis

Wenn es sich um einen modifizierten Multi-Image-Vorgang handelt, stellen Sie sicher, dass $model->file = 'src1,src2,src3,...' oder $model->file = ['src1 ', 'src2', ...];

Das Obige ist der gesamte Inhalt dieses Artikels Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website!

Verwandte Empfehlungen:

Über das von Yii implementierte mehrstufige Verknüpfungs-Dropdown-Menü

yii2 implementiert Paging und Paging mit Suchfunktion

Code zum Yii2.0-Upload mehrerer Dateien

Das obige ist der detaillierte Inhalt vonInformationen zum Code für die Verwendung des Webuploaders zum Hochladen von Bildern in yii2. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
yii
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage