我可以保存表单中的所有数据varchar / text元素,但是我无法保存路径图像。
我的代码有什么问题?
让我们看看create.blade.php
我可以保存var deadline
的值,但我无法保存var path
的值:
Form::open(array('url' => 'imagesLoker', 'files' => true))
<form class="form-horizontal">
<div class="box-body">
<div class="form-group">
{!!Form::label('Deadline Lowongan : ')!!}
{!!Form::date('deadline',null,['id'=>'deadline','class'=>'form-control','placeholder'=>'Deadline Lowongan'])!!}
</div>
<div class="form-group">
{!!Form::label('Image Lowongan : ')!!}
{!!Form::file('path') !!}
</div>
</div><!-- /.box-body -->
</form>
{!!Form::close()!!}
这是我的控制器:
public function store(Request $request)
{
Lowongan::create($request->all());
return "data all";
}
这是我创建数据的Ajax:
$("#createLoker").click(function(){
var datas = $('form').serializeArray();
var route = "http://localhost:8000/lowongan";
var token = $("#token").val();
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.post(route,{
deadline: $("#deadline").val(),
path: $("#path").val()
}).done(function(result){
console.log(result);
});
});
我不知道在我的模态中设置解析数据很重要或不重要,但我只是把这段代码放在我的模态中:
class Lowongan extends Model
{
protected $table = 'Lowongan';
protected $fillable = ['path','deadline'];
public function setPathAttribute($path){
$this->attributes['path'] = Carbon::now()->second.$path->getClientOriginalName();
$name = Carbon::now()->second.$path->getClientOriginalName();
\Storage::disk('local')->put($name, \File::get($path));
}
}
最后我设置目录以保存图像。这是在config/filesystem
:
'disks' => [
'local' => [
'driver' => 'local',
'root' => public_path('imagesLoker'),
],
我可以保存数据截止日期但是没有图像:( ..如果有任何关于如何保存图像路径的想法,我会很高兴知道它。
答案 0 :(得分:0)
在您的表单中,您必须在laravel like.
中允许文件上传选项 .on('data', function (data) {
if (data.size === 'a3') {
this.pause(); // pause it
var stream = this; // save 'this'
ProductModel.findOne({ sku: data.sku }, function (err, product) {
if (product !== null) {
product.size = data.size;
product.save();
validProducts.push(product);
}
stream.resume(); //resume it
});
}
});
的文件上传部分
希望有所帮助......
答案 1 :(得分:0)
请按照以下步骤操作
将{!!Form::file('path') !!}
更改为{!!Form::file('file') !!}
请注意我已将上传路径设置为root/public/uploads/
文件夹
public function store(Request $request)
{
$file = Input::file('file');
$path = '/uploads/';
$newFileName = Carbon::now()->second.$file->getClientOriginalName(). '.' . $file->getClientOriginalExtension();
// Move the uploaded file
$upSuccess = $file->move(public_path() . $path, $newFileName);
$result = file_exists(public_path() . $path . $newFileName);
$fileData =[
'fileType' => $file->getClientOriginalExtension(),
'filePath' => substr($path, 1) . $newFileName
];
Input::merge(array('path' => $fileData["filePath"]));
Lowongan::create($request->all());
return "data all";
}