webuploader 实现文件上传
参考网址:http://fex.baidu.com/webuploader/
首先下载webuploader,将文件夹放进public目录下
然后引入js和css:
<!--引入CSS--> <link rel="stylesheet" type="text/css" href="/webuploader/webuploader.css">
<!--引入Jquery--> <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<!--引入JS--> <script type="text/javascript" src="/webuploader/webuploader.js"></script>
HTML:
<div id="uploader" class="wu-example">
<!--用来存放文件信息-->
<div id="thelist" class="uploader-list"></div>
<div class="btns">
<div id="picker">选择文件</div>
<button id="ctlBtn" class="btn btn-default">开始上传</button>
</div>
</div>
Script:
1 var uploader = WebUploader.create({
2 // swf文件路径
3 swf: 'webuploader/Uploader.swf',
4 // 文件接收服务端。
5 server: "{:url('uploader')}",
6 // 选择文件的按钮。可选。
7 // 内部根据当前运行是创建,可能是input元素,也可能是flash.
8 pick: '#picker',
9 // 不压缩image, 默认如果是jpeg,文件上传前会压缩一把再上传!
10 resize: false,
11 // 选完文件后,是否自动上传。
12 auto:true,
13 // 图片name
14 fileVal:'img',
15 // 单文件
16 multiple:false,
17 compress : {
18 width: 100,
19 height: 100,
20 compressSize: 0
21 }
22 });
23 uploader.on( 'uploadSuccess', function( file,res ) {
24 $('#file').val(res.path)
25 });
PHP:
1 public function uploader(){
2 // 获取表单上传文件 例如上传了001.jpg
3 $file = request()->file('img');
4
5 // 移动到框架应用根目录/public/uploads/ 目录下
6 if($file){
7 $info = $file->move(ROOT_PATH . 'public' . DS . 'uploads');
8 if($info){
9 $filepath = '/uploads/'. $info->getSaveName();
10 // 输出 20160820/42a79759f284b767dfcb2a0197904287.jpg
11 return json(['code'=>200,'msg'=>'success','path'=>$filepath]);
12 }else{
13 // 上传失败获取错误信息
14 echo $file->getError();
15 }
16 }
17 }