0

我正在尝试将多个文件附加到一个表单,然后将这些文件发送到一个电子邮件地址,我已经成功地创建了表单并使其附加了文件,我遇到的问题是我只是得到我的电子邮件地址上的一个文件,这是我上传的最后一个文件,我不知道我做错了什么,我会把下面的代码留给你们。

<?php namespace CustomDesign\Damasdelite\Components;

use Cms\Classes\ComponentBase;
use CustomDesign\Damasdelite\Models\Cliente;
use CustomDesign\Damasdelite\Models\Categoria;
use Input;
use Mail;

class DamasForm extends ComponentBase{



public function componentDetails(){

return [
  'name' => 'Formulario de Damas',
  'description' => 'Agregar Damas'
];

  }



public function onSave(){

$cliente = new Cliente();
$cliente->nombre = Input::get('nombre');
$cliente->slug = strtolower(Input::get('nombre'));
$cliente->poster = Input::file('poster');
$cliente->galeria = Input::file('galeria');
$cliente->correo = Input::get('correo');
$cliente->monto = Input::get('monto');
$cliente->celular = Input::get('celular');
$cliente->edad = Input::get('edad');
$cliente->categoria = Input::get('categoria');
$cliente->estado = Input::get('estado');
$cliente->ciudad = Input::get('ciudad');
$cliente->piel = Input::get('piel');
$cliente->cabello = Input::get('cabello');
$cliente->ojos = Input::get('ojos');
$cliente->peso = Input::get('peso');
$cliente->altura = Input::get('altura');
$cliente->tipo_cuerpo = Input::get('tipo_cuerpo');
$cliente->vip = Input::get('vip');
$cliente->depilada = Input::get('depilada');
$cliente->medidas = Input::get('medidas');
$cliente->fuma = Input::get('fuma');
$cliente->horario = Input::get('horario');
$cliente->promocion = Input::get('promocion');
$cliente->locacion = Input::get('locacion');
$cliente->servicios = Input::get('servicios');
$cliente->descripcion = Input::get('descripcion');
$cliente->plan = Input::get('plan');
$cliente->save();

$vars = [
  'nombre' => Input::get('nombre'),
  'slug' => strtolower(Input::get('nombre')),
  'poster' => Input::file('poster'),
  'galeria' => Input::file('galeria'),
  'correo' => Input::get('correo'),
  'monto' => Input::get('monto'),
  'celular' => Input::get('celular'),
  'edad' => Input::get('edad'),
  'categoria' => Input::get('categoria'),
  'estado' => Input::get('estado'),
  'ciudad' => Input::get('ciudad'),
  'piel' => Input::get('piel'),
  'cabello' => Input::get('cabello'),
  'ojos' => Input::get('ojos'),
  'peso' => Input::get('peso'),
  'altura' => Input::get('altura'),
  'tipo_cuerpo' => Input::get('tipo_cuerpo'),
  'vip' => Input::get('vip'),
  'depilada' => Input::get('depilada'),
  'medidas' => Input::get('medidas'),
  'fuma' => Input::get('fuma'),
  'horario' => Input::get('horario'),
  'promocion' => Input::get('promocion'),
  'locacion' => Input::get('locacion'),
  'servicios' => Input::get('servicios'),
  'descripcion' => Input::get('descripcion'),
  'plan' => Input::get('plan')
];

$attachments = [];
foreach($cliente->galeria as $image) {
  $attachments[] = $image;
}

Mail::send('customdesign.damasdelite::mail.damasmessage', $vars, function($message) use ($attachments) {

  foreach($attachments as $attachment) {
    $params = ['as' => $attachment->getFilename()/*, 'mime' => $mime*/];
    $message->attach($attachment->getLocalPath(), $params);
  }

  $message->to('info@customdesign.com.ve', 'Damas de Elite');
  $message->subject('Nuevo Contacto');

});

  }
}

非常感谢您的帮助。

这是表单的 html,我采用了所有选项以使其更短且更易于阅读

<form method="POST" class="formulario" action="{{ url('anunciate') }}" role="form" accept-charset="UTF-8" enctype="multipart/form-data" class="formularios">
     <input type="hidden" name="_handler" value="onSave">
     {{ form_token() }}
     {{ form_sessionKey() }}
     <div class="columnas">
       <div class="c12 t4 d4 input-grupo">
           <label class="label" >Main Image</label>
           <input type="file" name="poster">
        </div>
        <div class="c12 t4 d4 input-grupo">
           <label class="label" >Gallery</label>
           <input type="file" name="galeria" multiple>
        </div>
        <div class="c12 t3 d3 input-grupo">
           <input type="text" name="nombre" placeholder="Tu Nombre">
        </div>
        <div class="c12 t3 d3 input-grupo">
           <input type="text" name="monto" placeholder="Cuanto Cobras">
        </div>
        <div class="c12 t3 d3 input-grupo">
           <input type="email" name="correo" placeholder="Tu E-mail">
        </div>
        <div class="c12 t3 d3 input-grupo">
           <input type="text" name="celular" placeholder="Tu Celular">
        </div>
        <div class="c12 t3 d3 input-grupo">
           <input type="text" name="edad" placeholder="Tu Edad">
        </div>
        <div class="c12 t3 d3 input-grupo">
           <input type="text" name="peso" placeholder="Cuanto Pesas">
        </div>
        <div class="c12 t3 d3 input-grupo">
           <input type="text" name="altura" placeholder="Cuanto Mides">
        </div>
        <div class="c12 t3 d3 input-grupo">
           <input type="text" name="medidas" placeholder="Cuales son tus Medidas">
        </div>
        <div class="c12 t3 d3 input-grupo bajar">
           <input type="text" name="horario" placeholder="Cual es tu Horario de Trabajo" >
        </div>
        <div class="c12 t3 d3 input-grupo">
           <select name="plan" id="plan">
              // options
           </select>
        </div>
        <div class="c12 t3 d3 input-grupo">
           <select name="categoria">
              // options
           </select>
        </div>
        <div class="c12 t3 d3 input-grupo">
          <input type="text" name="ciudad" placeholder="En que ciudades trabajas?">
        </div>
        <div class="c12 t3 d3 input-grupo">
           <select name="estado">
              // options
           </select>
        </div>
        <div class="c12 t3 d3 input-grupo">
           <select name="piel">
              //options
           </select>
        </div>
        <div class="c12 t3 d3 input-grupo">
           <select name="cabello">
              //options
           </select>
        </div>
        <div class="c12 t3 d3 input-grupo">
           <select name="ojos">
              //options
           </select>
        </div>
        <div class="c12 t3 d3 input-grupo">
           <select name="tipo_cuerpo">
              //options
           </select>
        </div>
        <div class="c12 t3 d3 input-grupo">
           <select name="depilada">
              //options
           </select>
        </div>
        <div class="c12 t3 d3 input-grupo">
           <select name="fuma">
              //options
           </select>
        </div>
        <div class="c12 t3 d3 input-grupo">
           <select name="vip">
              //options
           </select>
        </div>
        <div class="c12 t12 d12">Escoge los sitios donde atiendes y todos los servicios que ofreces</div>
        <div class="c12 t3 d3">
           <input type="checkbox" name="locacion[]" value="Hoteles"> Hoteles<br />
         // one option as an example  
        </div>
        <div class="c12 t3 d3">
           //input type checkbox
        </div>
        <div class="c12 t3 d3">
          //input type checkbox
        </div>
        <div class="c12 t12 d12 ">
           <label class="label">Tienes alguna promoción?</label>
           <textarea class= "editor redondo-0 sombra-1" name="promocion" cols="25" rows="10"></textarea>
        </div>
        <div class="c12 t12 d12 ">
           <label class="label">Descripción</label>
           <textarea class= "editor redondo-0 sombra-1" name="descripcion" cols="25" rows="10"></textarea>
        </div>
        <div class="c2 t1 d1 input-grupo checkbox">
           <button type="submit" class="btn">Guardar</button>
        </div>
     </div>
  </form>
4

1 回答 1

0

如果要发送具有multiple属性的多个文件,请改用数组名称

<input type="file" name="galeria[]" multiple>

如果您不这样做,即使您选择了更多,您也只会发送最后选择的文件

于 2017-09-30T20:20:00.620 回答