最近公司项目需要用到上传图片到腾讯云上,因为腾讯云可对图片进行高清剪裁等处理,用户看到的图片不模糊,不过是付费的,拿到账号登陆到腾讯云上看相关的文档API及SDK,大概都浏览了一遍有点印象就开始动手尝试去写了,看文档及调试通过共计用了7个小时左右,效率一般吧;之前写过支付相关(支付宝,财付通, 易宝支付)都是看文档调试;废话少说接下来为大家大概讲解下如何实现。
1.如何上传图片到腾讯云;
2.如何使用万象优图(上传到腾讯云后,缩略和剪裁功能)
第一:我们先去github上下载SDK(代码包,里面有个demo,运行文件为sample.php)
下载地址: https://github.com/tencentyun/cos-php-sdk-v4
目录结构如下(修改文件的命名空间等,TP3.2版本,我用的是3.1版本);
第二:拿到公司付费后的APPID,SECRET_ID,SECRET_KEY,API_COSAPI_END_POINT等配置好conf.php(登陆腾讯云 拿到这些及bucketName,访问域名等);
第三:准备工作已经OK,那我们去代码里加如何调用等,如下:
其中$srcPath 为你本地上传图的绝对路径如 D:\tmp\abc.tmp
第四:上传文件(图片) 调取cosapi的upload等,如下:
大家可以一层层点进去看如何调用如何拿去appid,SECRET_ID等参数变量等;
请求相关数据及返回数据格式(返回4个url参数,我们用的是source_url),如下:
文档里有java,php,python,javascrpt等SDK包,大家多看看多调试,下面是返回错误码
https://www.qcloud.com/document/product/430/5921#cgi-.E9.94.99.E8.AF.AF.E7.A0.81
常用的是 -97 ERROR_PROXY_AUTH_FAILED 非法签名
-82 ERROR_PROXY_AUTH_APPID_NOEXIST 不存在此appid
-2 网络中断(我们请求和腾讯云链接失败,原因有二:1,网络段问题常见APP端,2配置请求url域名错误)
希望对大家有帮助!!!
2. 如何使用万象优图
图片上传至腾讯云后(cos),显示图片有的很大导致打开很慢(比如1M以上的),那么我们可以使用付费的万象优图(cos存储一起的服务),我们可以打开管理中心--》bucket管理--》样式--》编辑(我是新增一个bucket) 如下图:
选择后点击保存,再打开高级编辑(会生成一个参数地址)
imageMogr2/thumbnail/!200x100r/interlace/0 将这个参数地址拼接到你的图片url中
http://xxxxx-xxxxx.image.myqcloud.com/201704/2c18f8c2c7a9a261b2082268f527cdaf
http://xxxxx-xxxxx.image.myqcloud.com/201704/2c18f8c2c7a9a261b2082268f527cdaf?imageMogr2/thumbnail/!200x100r/interlace/0
参数的意思是 缩略图 长宽为200 * 100 处理的图片的确小了很多只有35K左右,功能还是蛮多的比如:剪裁,水印等,是不是还不错;具体文档如下 https://www.qcloud.com/document/product/460/6925