laravel 图片上传 - ajax 不要 post 我的图片文件
laravel image upload - ajax do not post my image file
我正在尝试通过 ajax 调用将图像上传到我的服务器(在 laravel 上)。
这是我的服务器代码:
if (Input::hasFile('flyer')){
Log::info('WORK!');
$file = Input::file('flyer');
$file->move('uploads', $file->getClientOriginalName());
}
如您所见,我设置了一个日志指令以了解我的文件是否已上传...但我的日志文件显示未...
我的表单代码:
{{ Form::open(array('url' => 'new_event', 'id' => 'newEvent', 'files' => true)) }}
//some fields...
{{ Form::file('flyer', array('class' => 'form-control', 'id'=>'inputImage')) }}
// some other fields
{{ Form::close() }}
这是我的 ajax 电话:
$('#newEvent').submit(function() {
$.ajax({
data: $(this).serialize(),
type: $(this).attr('method'),
url: $(this).attr('action'),
success: function(response) {
$('#content').html(response);
}
});
return false;
});
我的 post 数据(来自 google 开发控制台)终于在这里了,当我 post 我的表单时:
_token:bqyiuQwtYEEs0tvhBcndi4ylsVPPi2FpYhGPLxKQ
title:sdfgsdf
description:sdfgsdf
activated_at:23/04/2015
expire_on:24/04/2015
contact:a name
phone:+387646
email:some@one.com
push:1
如您所见,我的图像文件(传单)没有踪迹...为什么?
你不能提交这样的图片,你需要enctype="multipart/form-data"
,试试下面的代码。
$('#newEvent').submit(function() {
// need to get form data as below
var formData = new FormData($(this)[0]);
$.ajax({
data: formData,
contentType: false,
processData: false,
type: $(this).attr('method'),
url: $(this).attr('action'),
success: function(response) {
$('#content').html(response);
}
});
return false;
});
我正在尝试通过 ajax 调用将图像上传到我的服务器(在 laravel 上)。
这是我的服务器代码:
if (Input::hasFile('flyer')){
Log::info('WORK!');
$file = Input::file('flyer');
$file->move('uploads', $file->getClientOriginalName());
}
如您所见,我设置了一个日志指令以了解我的文件是否已上传...但我的日志文件显示未...
我的表单代码:
{{ Form::open(array('url' => 'new_event', 'id' => 'newEvent', 'files' => true)) }}
//some fields...
{{ Form::file('flyer', array('class' => 'form-control', 'id'=>'inputImage')) }}
// some other fields
{{ Form::close() }}
这是我的 ajax 电话:
$('#newEvent').submit(function() {
$.ajax({
data: $(this).serialize(),
type: $(this).attr('method'),
url: $(this).attr('action'),
success: function(response) {
$('#content').html(response);
}
});
return false;
});
我的 post 数据(来自 google 开发控制台)终于在这里了,当我 post 我的表单时:
_token:bqyiuQwtYEEs0tvhBcndi4ylsVPPi2FpYhGPLxKQ
title:sdfgsdf
description:sdfgsdf
activated_at:23/04/2015
expire_on:24/04/2015
contact:a name
phone:+387646
email:some@one.com
push:1
如您所见,我的图像文件(传单)没有踪迹...为什么?
你不能提交这样的图片,你需要enctype="multipart/form-data"
,试试下面的代码。
$('#newEvent').submit(function() {
// need to get form data as below
var formData = new FormData($(this)[0]);
$.ajax({
data: formData,
contentType: false,
processData: false,
type: $(this).attr('method'),
url: $(this).attr('action'),
success: function(response) {
$('#content').html(response);
}
});
return false;
});