formdata和PHP实现文件上传,thinkphp结合FormData实现ajax文件上传

前端页面:

栏目图标

* 必填

imgurl用来上传文件,imgurl2用来存在文件上传后的路径。

前端js:$('#imgurl').change(function(){

var formData = new FormData();

formData.append("imgurl",$("#imgurl")[0].files[0]);

formData.append("service",'App.Passion.UploadFile');

$.ajax({

url:"{:url('Cate/upfile')}", /*接口域名地址*/

type:'post',

data: formData,

contentType: false,

processData: false,

success:function(res){

if(res.code==0){

// alert('成功');

$('#imgurl2').val(res.imgurl);

}else{

layer.msg(res.msg)

}

}

});

});

监听imgurl,如果有文件上传。通过ajax提交,并获取上传文件路径赋值给imgurl2。

后端php上传:public function upfile(){

//获取上传文件详情信息

$file = request()->file('imgurl');

//validate(['ext'=>'','size'=>'']) ext:判断文件的后缀,size:限制文件上传的大小

//move()   移动文件

$info = $file->validate(['ext'=>'jpg,jpeg,png,gif','size'=>2048000])->move(ROOT_PATH . 'public' . DS . 'uploads');

if($info){

//获取上传文件的详情信息

$info->getInfo();

//获取上传文件的名称

$imgurl = 'uploads'.'/'.$info->getSaveName();

$result['code'] = 0;

$result['msg'] = '上传成功';

$result['imgurl'] = $imgurl;

}else{

$request['code'] = 2;

$result['msg'] = '上传失败';

}

return $result;

}

有了图片路径,整体表单提交就比较简单了。嘿嘿,希望对大家有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值