菜鸟学习小程序之文件上传+PHP-laravel后端代码

看到别人写的修改个人资料时点击图片就会出现文件上传窗口,但是自己折腾了很久才算做了出来


.wxml文件

<view class='img' bindtap="chooseimage">
    <text style='float:left;' >图像</text>
    <image src='{{userInfo.avatarUrl}}' class='avatar'></image>
    <text class='href' style='margin-right:6%;margin-top:0;' >></text>
 </view>

.js文件

  // 图像上传
  chooseimage: function () {
    var that = this;
    wx.chooseImage({
      count: 1, // 默认9  
      sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有  
      sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有  
      success: function (e) {
        // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片  
        that.setData({
          tempFilePaths: e.tempFilePaths
        })
        var tempFilePaths = e.tempFilePaths
        var url = app.globalData.url
        wx.uploadFile({ //上传到服务器
          url: url + 'user/upload', //仅为示例,非真实的接口地址
          filePath: tempFilePaths[0],//文件地址
          name: 'file',//文件name值
          success: function (res) {
            var info = res.data //接口返回的数据
            that.setData({
              tempFilePaths: info.domain_img_path,
              avatarUrl : info.img_path
            })   
          }
        })
      }
    })
  },

.php文件

    // 上传图片
    public function upload()
    {
        $file = request()->file('file');
        if($file->isValid()){
            $ext = $file->getClientOriginalExtension();//文件扩展名
            $file_name = date("YmdHis",time()).'-'.uniqid().".".$ext;//保存的文件名
            if(!in_array($ext,['jpg','jpeg','gif','png']) ) return response()->json(err('文件类型不是图片'));
            //把临时文件移动到指定的位置,并重命名
            $path = public_path().DIRECTORY_SEPARATOR.'uploads'.DIRECTORY_SEPARATOR.'wchat_img'.DIRECTORY_SEPARATOR.date('Y').DIRECTORY_SEPARATOR.date('m').DIRECTORY_SEPARATOR.date('d').DIRECTORY_SEPARATOR;
            $bool =  $file->move($path,$file_name);
            if($bool){
                $img_path = '/uploads/wchat_img/'.date('Y').'/'.date('m').'/'.date('d').'/'.$file_name;
                $data = [
                    'domain_img_path'=>get_domain().$img_path,
                    'img_path'=>$img_path,
                ];
                return response()->json(succ($data));
            }else{
                return response()->json(err("图片上传失败!"));
            }
        }else{
            return response()->json(err("图片上传失败!"));
        }


    }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值