laravel 图片上传 ajax 方式
//后台轮播图上传
$("#img-upload").on('submit',function(e){
e.preventDefault();
var formData = new FormData($(".banner-upload"));
$.ajax({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
type: 'POST',
url: '/admin/banner/create' ,
data: formData ,
processData:false,
//mimeType:"multipart/form-data",
contentType: false,
cache: false,
success:function(data){
console.log(data);
if(data.status){
console.log(data.message);
}
},
error:function(err){
console.log(err);
}
});
form 表单方式
<form class="form-horizontal" action="{{ URL('/admin/banner/create') }}" method="POST" enctype="multipart/form-data" class="banner-upload"> {{ csrf_field() }} <div class="box-body">
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">主题</label>
<div class="col-sm-10">
<input type="text" class="form-control" value="" name="theme" placeholder="设置轮播主题">
</div>
</div> <div class="form-group">
<label for="inputPassword3" class="col-sm-2 control-label">状态</label>
<div class="col-sm-10">
<input type="radio" value="1" name="status">启用
<input type="radio" value="0" name="status">禁用
</div>
</div> <div class="form-group">
<label for="inputPassword3" class="col-sm-2 control-label">上传图片</label>
<div class="col-sm-10">
<input type="file" name="photo" value="" placeholder=""> <div class="img-wrap">
<img src="" alt="">
</div>
</div>
</div> </div>
<!-- /.box-body -->
<div class="box-footer clearfix">
<button type="submit" class="btn btn-info pull-right" id="img-upload">提交</button>
</div>
</form>
后台函数
public function BannerCreate(Request $request)
{
$file = $request->file('photo');//获取图片
$theme = $request->theme;//主题
$status = $request->status;//状态
$allowed_extensions = ["png", "jpg", "gif"];
if ($file->getClientOriginalExtension() && !in_array($file->getClientOriginalExtension(), $allowed_extensions)) {
return response()->json([
'status' => false,
'message' => '只能上传 png | jpg | gif格式的图片'
]);
} if ($request->hasFile('photo')) { } $destinationPath = 'storage/uploads/';
$extension = $file->getClientOriginalExtension();
$fileName = str_random(10).'.'.$extension;
$file->move($destinationPath, $fileName);
return Response()->json(
[
'status' => true,
'pic' => asset($destinationPath.$fileName),
'isMake' => $status,
'message' => '新增成功!'
]
);
}
$destinationPath
=
'storage/uploads/'
; 后面必须要有 / 负责上传后路径访问有问题
<form class="form-horizontal" action="{{ URL('/admin/banner/create') }}" method="POST" enctype="multipart/form-data" class="banner-upload">
{{ csrf_field() }}
<div class="box-body">
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">主题</label>
<div class="col-sm-10">
<input type="text" class="form-control" value="" name="theme" placeholder="设置轮播主题">
</div>
</div>
<div class="form-group">
<label for="inputPassword3" class="col-sm-2 control-label">状态</label>
<div class="col-sm-10">
<input type="radio" value="1" name="status">启用
<input type="radio" value="0" name="status">禁用
</div>
</div>
<div class="form-group">
<label for="inputPassword3" class="col-sm-2 control-label">上传图片</label>
<div class="col-sm-10">
<input type="file" name="photo" value="" placeholder="">
<div class="img-wrap">
<img src="" alt="">
</div>
</div>
</div>
</div>
<!-- /.box-body -->
<div class="box-footer clearfix">
<button type="submit" class="btn btn-info pull-right" id="img-upload">提交</button>
</div>
</form>
最新文章
- fedora22切换用户windows分区不能自动挂载
- Hadoop入门进阶课程4--HDFS原理及操作
- Android下拉刷新底部操作栏的隐藏问题
- HDU--杭电--1195--Open the Lock--深搜
- [CODEVS1295]N皇后(位运算+搜索)
- Velocity 模板引擎介绍
- HDU 4121 Xiangqi
- MVAPI第一个版本架构图
- vue.js路由参数简单实例讲解------简单易懂
- lufylegend练习(1)帧速率
- SSM 框架 ---项目整合
- 【Java基础】求出1-100之间偶数和
- ARM中R0-R15寄存器的作用
- Elasticsearch6.13 升级6.24 单节点停机升级
- 51nod 1459 迷宫游戏 dijkstra模板
- allegro 基本步骤
- C# MemCached分布式缓存
- JavaScript判断是否全为中文,是否含有中文
- STL标准库-容器适配器
- 使用JSON实现分页
热门文章
- C++引用具体解释
- xc_domain_save.c
- XCODE5 真机測试
- ArcGIS 相同要素类的多Shp文件或多要素合并
- 第十二章:Linux中权限控制实例
- AssetsManager 在ios更新失败解决方案
- 《C++ Primer Plus》学习笔记 2.1.1 main()函数
- 动态规划——最长公共上升子序列LCIS
- linux系统安装jdk及配置环境变量
- [移动云计算开发 01] 解决 windows 7 安装设置 nginx 出现端口占用的问题