微信小程序+laravel8 实现文件上传七牛云

1.wxml代码

<l-image-picker count="3" bind:linchange="onChangeTap"  />

2.js代码

onChangeTap(e){
//获取所有的图片,类型是一个数组
var image=e.datail.all
var that=this;
//循环这个数组
for(var i=0;i<image.length;i++){

    //微信小程序内置的上传文件的方法
    wx.uploadFile({
        //单个图片
        filePath:image[i],
        //传到后台的名字
        name:'image',
        //请求的网址
        url:'',
        //请求成功后回调函数
        success:function(res){
        //进行转义。否则图片无法正常显示
        var name=JSON.parse(res.data)
        //给转义后的名字赋给一个变量
        var n=name.path
        //追加到data中 
        that.data.list.push(n)
        }
    })
}

3.利用config文件夹下的app.php文件,在providers中加入以下代码

itbdw\QiniuStorage\QiniuFilesystemServiceProvider::class

打开cinfig文件夹下的filesystems.php文件,在disks中加入以下代码

'qiniu'=[
     'driver'=>'qiniu',
     'domain'=>'',//七牛云域名
    'access_key'=>'',//AccessKey
    'secret_key'=>'',//SecretKey
    'bucket'=>'',//Bucket名字,即七牛云存储空间名称
]

在控制器里面进行上传

function file(Request $request){

    $disk=\Storage::disk('qiniu');//使用七牛云上传

    $time=date('Y-m-d');

    $filename=$disk->put($time,$request->file('file'));//上传 这里的file是前端的name值自己定

    if(!$filename){
        echo "上传失败";
    }

    $img_url=$disk->getDriver()->downloadUrl($filename);//获取下载链接

    return $img_url;

}

aravel 关于安装七牛后,删除图片报错问题解决方案
用 laravel 框架安装七牛云安装包的,再删除图片时多少会遇到删除图片报错的问题,我也是通过同事的经验将此方法分享给大家,希望能够帮助到你们。

解决方法:
①打开项目根目录的 /vendor/qiniu/php-sdk/src/Qiniu/Storage/BucketManager.php 这个 BucketManager.php 文件,大约 590 行

 ②把 delete ($bucket, $key) 防范里面的内容改变下

//原来的
public function delete($bucket, $key)
{
   $path = '/delete/' . \Qiniu\entry($bucket, $key);
   return $this->rsPost($path);
}

//现在的
public function delete($bucket, $key)
{
   $path = '/delete/' . \Qiniu\entry($bucket, $key);
   list(,$error) = $this->rsPost($path);
   return $error;
}

3. 改完之后保存,基本有效了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值