Maison  >  Article  >  développement back-end  >  Exemple d'analyse de la façon dont yii2 utilise webuploader pour télécharger des images

Exemple d'analyse de la façon dont yii2 utilise webuploader pour télécharger des images

黄舟
黄舟original
2017-09-09 09:10:451412parcourir

Cet article présente principalement le projet pratique d'utilisation de webuploader pour implémenter le téléchargement d'images dans yii2. Il a une certaine valeur de référence. Les étudiants intéressés peuvent en apprendre davantage

Le téléchargement d'images est presque un incontournable pour l'application. . Cela est également mentionné plus tôt. J'ai fait une description détaillée de l'entrée de fichier de kartik, mais de nombreuses personnes ont signalé divers problèmes. Ci-dessous, j'ai écrit un composant séparé pour l'utilisation de webuploader. Ce composant peut mieux gérer une série de problèmes causés par Yii2 lors du processus de téléchargement d'images. Il prend actuellement en charge les téléchargements mixtes de plusieurs images, plusieurs champs et plusieurs modaux.

Avant l’introduction, démontrons l’effet.

Installation

Il est recommandé d'utiliser composer pour l'installation


$ php composer.phar require bailangzhan/yii2-webuploader dev-master

Utilisez

params.php ou params-local.php pour ajouter un téléchargeur Web et des éléments de configuration de domaine


// 图片服务器的域名设置,拼接保存在数据库中的相对地址,可通过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,
    ],
  ],
],

webuploader['baseConfig'] Reportez-vous à la description officielle des paramètres de webuploader

Afficher le fichier

Image unique


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

Images multiples


<?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;,
    // ],
  ],
]); ?>

L'adresse du contrôleur peut être configurée dans params.php ou params-local.php Yii::$app->params['webuploader']['uploadUrl'], vous pouvez également configurer l'élément serveur dans clientOptions. Le format de données que le contrôleur doit renvoyer est le suivant


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

clientOptions se réfère également à la description officielle des paramètres de webuploader

Remarque

S'il s'agit d'une opération multi-images modifiée, assurez-vous de vous assurer que $model->file = 'src1,src2,src3,...' ou $; modèle->fichier = ['src1' , 'src2', 'src3', ...];

.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn