前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >对象存储cos+https 如何应用到小程序

对象存储cos+https 如何应用到小程序

原创
作者头像
红狼之舞
修改2020-04-09 17:37:07
1.4K0
修改2020-04-09 17:37:07
举报
文章被收录于专栏:coscos

最近闲来无事跟朋友商量做个导购小程序,于是一拍即合。导购必然要上传维护自己的商品,人懒嫌麻烦,于是想着干脆用爬虫得了。商品信息不用自己维护。后台python+java。用crontab配置了定时任务,每两个小时爬一下各大购物平台。接口api用java实现的,python速度太慢。爬虫当然是用python写的。把价格和销量筛选一下,直接入库。借助python神力一下午搞定。不用维护简单又省心。由于小程序不能引用外部图片链接,服务器的宽带直接影响了图片的展示。本人双十一600多块钱三年的服务器,实在是带不动啊。怎么办呢,。肯定上对象存储阿,正好最近cos有活动。


一块钱半年太良心了,附上购买地址给兄弟们:https://cloud.tencent.com/act/event/CDN-COS?from=12269


好了接下来开始我们的免费之旅。保证不再让你多花一分冤枉钱。先来搞一个免费https证书吧。(小程序所有的链接必须是https的哦)。直接来个免费的就好。

附上地址:https://buy.cloud.tencent.com/ssl?fromSource=ssl

按步骤操作就可以了,申请一个image子域名的ssl证书。按照帮助文档,选择手动验证,在nginx静态映射一下fileauth.txt

文件,分配到路径 /.well-known/pki-validation,等待几分钟,证书就颁发了。颁发之后就可以把fileauth.txt删除了。

ssl证书搞定。


再来看一下怎么将图片上传到cos呢。借助python只需要几行代码,将网上的图片存到我的数据库里。

直接上代码

代码语言:python
复制
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import requests as r;
def upload_pic(self,picUrl):
    secret_id = '###########'  # 替换为自己的 secretId
    secret_key = '###########'  # 替换为自己的 secretKey
    region = 'ap-beijing'   #看你服务器在哪里,找到对应的region
    token = None  # 使用临时密钥需要传入 Token,默认为空,可不填
    scheme = 'https'  # 指定使用 http/https 协议来访问 COS,默认为 https,可不填
    config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
    stream = r.get(picUrl) #转换流
    pakname = time.strftime('%Y%m%d', time.localtime(time.time()))#创建cos文件夹
    imgname = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time())) #创建图片名称
    key = pakname+'/'+imgname+'.jpg'
    # 网络流将以 Transfer-Encoding:chunked 的方式传输到 COS
    response = self.client.put_object(
            Bucket='##-###',  #你的Bucket
            Body=stream,
            Key=key
    )
    return 'https://image.xingyitv.com/'+key 
    
    
    
    
    


接下来给cos装上我们的ssl证书。首先你nginx要支持ssl哦,不支持的话,从nginx原文件重新make一下,把nginx替换一下就好了。接下来看是我nginx里的配置

代码语言:text
复制
server {
     listen 443 ssl;
     server_name image.***.com;
     ssl on;
     ssl_certificate /usr/local/nginx/conf/1_image.xingyitv.com_bundle.crt;  #ssl颁发的crt
     ssl_certificate_key /usr/local/nginx/conf/2_image.xingyitv.com.key;  #ssl颁发的key
     error_log logs/image.xingyitv.com.error_log;
     access_log logs/image.xingyitv.com.access_log;
     location / {
         root /data/www/;
         proxy_pass http://**-***.cos.ap-beijing.myqcloud.com; //配置存储桶(Bucket)的默认下载域名
         
         }
     }

搞定。重启nginx就可以了。


最后附上我小程序的连接,朋友们可以关注一下。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档