我之前从未将以表格形式上传的图片发送到电子邮件中,所以我遇到了一些麻烦。
我知道这行代码:$request->file('image')->move('/', $fileName);
因为我将其移动到哪里而无法做任何事情,但就我能读到这些而言Unable to write in the "/" directory
<div class="form-group">
{!! Form::file('image') !!}
</div>
<p>
Image: {{ $image }}
</p>
<?php
namespace App\Http\Requests;
use App\Http\Requests\Request;
class ContactFormRequest extends Request
{
public function authorize()
{
return true;
}
public function rules()
{
return [
'name' => 'required',
'height' => 'required',
'age' => 'required',
'weight' => 'required',
'gender' => 'required',
'email' => 'required|email',
'image' => 'required|mimes:jpeg,jpg,png|max:200px'
];
}
}
3}}。事实上,它吐出了这个错误:
<?php namespace App\Http\Controllers;
use App\Http\Requests\ContactFormRequest;
class AboutController extends Controller {
public function create()
{
return view('pages.index');
}
public function store(ContactFormRequest $request)
{
$fileName = "Image";
$request->file('image')->move('/', $fileName);
\Mail::send('emails.contact',
array(
'name' => $request->get('name'),
'height' => $request->get('height'),
'age' => $request->get('age'),
'weight' => $request->get('weight'),
'gender' => $request->get('gender'),
'email' => $request->get('email'),
'image' => $request->get('image')
), function($message)
{
$message->from('example@example.com');
$message->to('example@example.com', 'Admin')->subject('Example Text');
});
return \Redirect::route('/')
->with('message', 'Your application is on its way!');
}
}
如果我要删除上面的代码并提交我的表单,一切正常,但图片字段显示为空。这引出了我的问题:
我将图片移动到哪里,以及如何从该位置获取图片,以便可以在发送的电子邮件中使用它,而不是显示空白点,就像没有上传任何内容一样? < / p>
以下是我的档案......
index.blade.php(仅限表单的图像部分):
{{1}}
电子邮件/ contact.blade.php(仅限图片部分):
{{1}}
请求/ ContactFormRequest.php:
{{1}}
认证/ AboutController.php:
{{1}}
答案 0 :(得分:1)
如果您想将图片附加到邮件中,请使用以下命令:
Mail::send('emails.contact',
array(
'name' => $request->get('name'),
'height' => $request->get('height'),
'age' => $request->get('age'),
'weight' => $request->get('weight'),
'gender' => $request->get('gender'),
'email' => $request->get('email'),
'image' => $filename
), function($message) use($filename)
{
$message->from('example@example.com');
$message->to('example@example.com', 'Admin')->subject('Example Text');
$message->attach('/'.$filename);
});
通常我这样做是为了上传图片。
//Request File
$file = $request->file('image');
//Destination
$destination = public_path() . '/img/';
//Define the name
$name= "image";
//Get file extension
$extension = $file->getClientOriginalExtension();
//join the name you set with the extension
$filename = $name . '.' . $extension;
//after that move the file to the directory
$file->move($destination, $filename);
如果要显示图像,请不要忘记使用(而不是返回其名称)
<img src="foo/bar" />