tp6 ajax图片上传

15 篇文章 0 订阅
8 篇文章 1 订阅

本示例可以在一个页面上传多张图片,节点可动态添加,提交数据时从节点中获取图片链接即可

html代码

<div class="col-sm-7" style="margin-top: 5px">
	<!--上传成功后将链接显示在input中-->
    <input type="text" autocomplete="off" value="" name="gimg" class="form-control tableinput gimg" placeholder="请上传规格图片">
    <span class="help-block m-b-none img_process"></span>
</div>
<div class="col-sm-5">
	<!--点击上传按钮-->
    <button class="btn layui-btn" style="width: 70px;height: 30px;line-height: 30px;text-align: center;padding: 0;margin-top: 8px">图片上传</button>
    <!--将上传按钮放置在button上方,设置为透明-->
    <input type="file" class="test1" style="width: 70px;height: 30px;line-height: 30px;text-align: center;padding: 0;margin-top: 8px;position:absolute;top:0px;left:23px;opacity: 0"/>
</div>

js代码

$(document).on('change','.test1',function(e){
    var formData = new FormData();         // 利用FormData实现图片上传
    var input = $(this).parent().prev().find('input') //获取赋值的节点
    var fiObj = e.target.files[0]     // 用过files获取图片
    formData.append('file',fiObj);         // 给formData用append图片,如果有其他还需要传的参数也一样全部append到formData
    $.ajax({
        url: '{:url("admin/admin/uploads")}',
        type: 'post',
        processData : false,
        contentType : false,
        async:false,
        data: formData,          // 主要看这里,就直接把我们实例回来的formData传过去就行了。
        success: function(data) {
            input.val(data.name)
        }
    })
})
//tp6上传
public function uploads(){
     $file = $this->request->file('file');
     if(!Validate::fileSize($file,1024 * 1024 * 5)){
         $this->error('图片过大');
     }
     if(!Validate::fileExt($file,'jpeg,jpg,png,gif')){
         $this->error('图片格式错误');
     }
     $info = Filesystem::disk('public')->putFile(\utils\oss\OssService::setFilepath(),$file,'uniqid');
     $url = \utils\oss\OssService::getAdminFileName(basename($info));
     return json(['name'=>$url]);
 }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值