zoukankan      html  css  js  c++  java
  • 微信小程序--图片上传删除

    小程序前台页面:

    //图片上传 --添加图片
        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;
            }
  • 相关阅读:
    2-SAT( tarjan应用 )
    字节流和字符流
    linux 安装kafka
    网络编程入门
    Java代码中的魔法值
    动态SQL
    update语句的返回值是什么
    dual表
    diy diy diy台式机走起
    js数组赋值,改变其中一个,另一个数组也会改变(vue中数据绑定)
  • 原文地址:https://www.cnblogs.com/yehuisir/p/12324228.html
Copyright © 2011-2022 走看看