Laravel 5 Ajax File/Image Upload(Laravel 5 Ajax 文件/图片上传)
问题描述
我的 Laravel ajax 应用程序有问题,
我无法通过 ajax POST 上传图片/文件.
这是我的代码.
阿贾克斯..
/*添加新的分类事件*/$(".addbtn").click(function(){$.ajax({url:'添加目录',数据:{logo:new FormData($("#upload_form")[0]),},数据类型:'json',异步:假,类型:'帖子',过程数据:假,内容类型:假,成功:功能(响应){控制台日志(响应);},});});/*添加新的类别事件*/
刀片模板...
控制器..
公共函数catadd(){if (Input::hasFile('logo')){返回文件存在";}别的{返回文件不存在";}}
路线..
Route::post('add-catagory',['as'=>'catagory_add','uses'=>'MastersController@catadd']);
我的代码有什么错误???
我无法在 Laravel 控制器中获取文件信息..
我该如何解决这个问题...?
有两点需要改变:
从以下位置更改您的 js 文件:
数据:{logo:new FormData($("#upload_form")[0]),},
致:
data:new FormData($("#upload_form")[0]),
因为您想发送整个表格.
在您的 html 中:
为您的文件输入字段添加名称
致:
I have an issue in my laravel ajax application,
I cant upload images/files through ajax POST.
here is my code.
Ajax..
/*Add new catagory Event*/
$(".addbtn").click(function(){
$.ajax({
url:'add-catagory',
data:{
logo:new FormData($("#upload_form")[0]),
},
dataType:'json',
async:false,
type:'post',
processData: false,
contentType: false,
success:function(response){
console.log(response);
},
});
});
/*Add new catagory Event*/
Blade template ...
<form enctype="multipart/form-data" id="upload_form" role="form" method="POST" action="" >
<div class="form-group">
<label for="catagry_name">Name</label>
<input type="hidden" name="_token" value="{{ csrf_token()}}">
<input type="text" class="form-control" id="catagry_name" placeholder="Name">
<p class="invalid">Enter Catagory Name.</p>
</div>
<div class="form-group">
<label for="catagry_name">Logo</label>
<input type="file" class="form-control" id="catagry_logo">
<p class="invalid">Enter Catagory Logo.</p>
</div>
</form>
</div>
<div class="modelFootr">
<button type="button" class="addbtn">Add</button>
<button type="button" class="cnclbtn">Reset</button>
</div>
</div>
Controller ..
public function catadd(){
if (Input::hasFile('logo'))
{
return "file present";
}
else{
return "file not present";
}
}
Route ..
Route::post('add-catagory',['as'=>'catagory_add','uses'=>'MastersController@catadd']);
What is the error in my code ???
I cant get the file information in laravel controller..
How can i solve this issue...?
Two things to change:
Change your js file from:
data:{
logo:new FormData($("#upload_form")[0]),
},
To:
data:new FormData($("#upload_form")[0]),
Because you would like to send the whole form.
In your html:
Add a name to your file input field
<input type="file" class="form-control" id="catagry_logo">
To:
<input type="file" name="logo" class="form-control" id="catagry_logo">
这篇关于Laravel 5 Ajax 文件/图片上传的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Laravel 5 Ajax 文件/图片上传
基础教程推荐
- 如何在 XAMPP 上启用 mysqli? 2021-01-01
- 找不到类“AppHttpControllersDB",我也无法使用新模型 2022-01-01
- 在 yii2 中迁移时出现异常“找不到驱动程序" 2022-01-01
- Doctrine 2 - 在多对多关系中记录更改 2022-01-01
- 在 CakePHP 2.0 中使用 Html Helper 时未定义的变量 2021-01-01
- 使用 PDO 转义列名 2021-01-01
- PHP 守护进程/worker 环境 2022-01-01
- phpmyadmin 错误“#1062 - 密钥 1 的重复条目‘1’" 2022-01-01
- 如何在 Symfony 和 Doctrine 中实现多对多和一对多? 2022-01-01
- HTTP 与 FTP 上传 2021-01-01