微信小程序--图片上传删除

小程序前台页面:

//图片上传 --添加图片
    afterRead(event) {
      var that = this;
      const { file } = event.detail;
      //console.log(file.path);
      // 当设置 mutiple 为 true 时, file 为数组格式,否则为对象格式
      wx.uploadFile({
        url: 'http://www.xcxshoplars.com/api/upload_image', // 仅为示例,非真实的接口地址
        filePath: file.path,
        name: 'file',
        formData: { user: 'test' },
        success(res) {
          console.log(res.data);
         
          var datas = JSON.parse(res.data);
          var image = "http://www.xcxshoplars.com"+datas.data; //后台传过来的地址地址
          var fileLists = [];
          fileLists = that.data.fileList
          let imagesInfo = { url: image}
          fileLists.push(imagesInfo)
          that.setData({
           fileList:fileLists
         });

        }
      });
    },

    //图片上传-点击删除
  deleteImages(event){
    var image_index = event.detail.index
    var fileList_new = this.data.fileList;
    fileList_new.splice(image_index,1);
    this.setData({
      fileList: fileList_new
    })
   // console.log(event.detail.index);
  },
  data: {
  
    fileList: [
      // { url: 'https://img.yzcdn.cn/vant/leaf.jpg', name: '图片1' },
      // // Uploader 根据文件后缀来判断是否为图片文件
      // // 如果图片 URL 中不包含类型信息,可以添加 isImage 标记来声明
      // {
      //   url: 'http://iph.href.lu/60x60?text=default',
      //   name: '图片2',
      //   isImage: true
      // }
    ]
  },

小程序后台页面(post接收):

class FeedbackController extends Controller
{
    public function image(Request $request)
    {
        $file=$request->file('file');

        //值如:uploads/images/avatars/201709/21/
        $folder_name = "/uploads/images/avatars/" . date("Ym/d", time());
        $upload_path = public_path() . '/' . $folder_name;
        // 获取文件的后缀名,因图片从剪贴板里黏贴时后缀名为空,所以此处确保后缀一直存在
        $extension  =  strtolower($file->getClientOriginalExtension())  ?:  'png';
// 拼接文件名,加前缀是为了增加辨析度,前缀可以是相关数据模型的 ID
// 值如:1_1493521050_7BVc9v9ujP.png
        $filename =  time() . '_' . Str::random(10) . '.' . $extension;
        // 将图片移动到我们的目标存储路径中
        $file->move($upload_path, $filename);

        $data = [
            'img_src'=>$folder_name.'/'.$filename, //图片地址
            'create_time'=>date('Y-m-d H:i:s'),
        ];
        DB::table('feedback')->insert($data);
        
        return response()->json(['status'=>'400','msg'=>'失败','data'=>$data['img_src']]);


    }


}

 

 

 

 

 

 

 

 

 

 

 

 

上传七牛空间:

//七牛云配置文件,在七牛云控制台个人中心可以查看,这些配置可以写在 .env里面
    const  Ak ='你自己的AK';
    const SK='你自己的sk';
    const DOMAIN='图片的专属域名';
    const BUCKEY='你增加的那个存储空间';

 

 

//图片上传七牛空间
    public function image_qiniu(Request $request){
        $file=$request->file('file');
        $auth = new Auth(self::Ak,self::SK);
        //生成上传图片的token
        $extension  =  strtolower($file->getClientOriginalExtension())  ?:  'png';
        $token = $auth->uploadToken(self::BUCKEY);
        $key = time().rand(0,9999).".".$extension;
        $uploadMgr = new UploadManager();
        list($ret,$err) = $uploadMgr->putFile($token,$key,$file);
        if($ret){
            //这里返回的是一个bucket的域名,在前面添加http://后就可以正常看到图片
            $data = self::DOMAIN.'/'.$key;
            return response()->json(['status'=>'400','msg'=>'失败','data'=>$data]);
        }else{
            return null;
        }

 

posted @ 2020-02-17 22:55  搬砖小伙子  阅读(2497)  评论(0编辑  收藏  举报