php上传网络图片到七牛云存储

6 篇文章 0 订阅
2 篇文章 0 订阅

php---将网络图片上传到七牛云存储

一、获取已知网络图片数据

使用curl读取图片数据

public function getImgData($img_url)
    {
        $ch = curl_init($img_url);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
        //读取图片数据
        $rawData = curl_exec($ch);
        curl_close($ch);
      
        return $rawData;
    }

二、php上传图片到七牛云

1、配置七牛信息

$accessKey = '七牛云AccessKey';
$secretKey = '七牛云SecretKey';
$qiniu_domain_url = '空间域名';
$bucket = '存储桶名称';

2、上传图片,返回值:$uploadurl即为上传到七牛云的图片地址

         //引入七牛云sdk
        require_once API_ROOT.'/../sdk/qiniu/autoload.php';
        //$img_url:网络图片地址
        $imageData = $this->getImgData($img_url);
        $auth  = new \Qiniu\Auth($accessKey, $secretKey);         
        $token = $auth->uploadToken($bucket);
        $key   = 'qrurl_'.$uid.'.png';//存储图片名称
        $up    = new \Qiniu\Storage\UploadManager();
        $mime  = 'image/jpeg';
        list($rest, $err) = $up->put($token, $key, $imageData, null, $mime);
        if ($err) {
            echo '<pre>';
            print_r($err);
        } else {
            echo '<pre>';
            print_r($rest);
            $uploadurl = $qiniu_domain_url.$rest['key'];//七牛存储图片地址
        }

3、别忘记在文件顶部引用下qiniu内部文件

use Qiniu\Auth;
use Qiniu\Storage\UploadManager;
use Qiniu\Storage\BucketManager;

4、本文中使用的七牛sdk下载地址:

链接:https://pan.baidu.com/s/1RUuYcKKU7CW1p9Uc_xWx_g 
提取码:r5x4 
复制这段内容后打开百度网盘手机App,操作更方便哦

 

 

 

 

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在uni-app中上传本地图片七牛云,可以按照以下步骤进行: 1. 在七牛云上创建一个存储空间,并获取该空间的Access Key和Secret Key。 2. 安装uni-app的官方插件uni-upload,并在项目根目录下的vue.config.js中进行配置,添加以下代码: ``` const qiniuUploader = require('uniapp-qiniu-sdk'); const qiniuOptions = { region: 'your region', // 七牛云存储区域 uptokenURL: 'your uptokenURL', // 服务端提供获取上传凭证的接口 domain: 'your domain', // 七牛云存储空间绑定的域名 }; module.exports = { configureWebpack: { plugins: [ { apply: (compiler) => { compiler.hooks.afterEmit.tapPromise('afterEmit', (compilation) => { return new Promise((resolve, reject) => { qiniuUploader.upload(compilation.assets['your upload file name'].existsAt, 'your key', qiniuOptions, (res) => { console.log(res); resolve(); }, (error) => { console.log(error); reject(); }); }); }); }, }, ], }, }; ``` 3. 在需要上传图片的页面中,添加以下代码: ``` <template> <view> <input type="file" @change="upload"> </view> </template> <script> export default { methods: { upload(event) { const file = event.target.files[0]; const reader = new FileReader(); reader.readAsDataURL(file); reader.onload = () => { const base64Img = reader.result; qiniuUploader.upload(base64Img, (res) => { console.log(res); }, (error) => { console.log(error); }); }; }, }, }; </script> ``` 其中,首先使用FileReader将本地图片转换为base64格式,然后调用qiniuUploader.upload函数上传图片。 以上就是在uni-app中上传本地图片七牛云的基本步骤,具体使用细节可以根据实际情况进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值