[Fastadmin]在前台如何上传文件到七牛云
作者:鹰该飞翔
阅读:591
发布时间:2021年12月31日 18:19
在使用Fastadmin里面,api里面common.php的upload方法可以上传文件,但是发现是直接上传到服务器上的,我用的七牛云存储上传插件,于是在七牛云上传插件里面找到了上传方法,记录一下!
1、引入七牛云插件的Auth类
use Qiniu\Auth;
2、实例化类并获取上传token
$config = get_addon_config('qiniu');
$auth = new Auth($config['accessKey'], $config['secretKey']);
$policy = array(
'saveKey' => ltrim($config['savekey'], '/'),
);
$qiniutoken = $auth->uploadToken($config['bucket'], null, $config['expire'], $policy);
3、模拟Post向七牛云插件的上传接口上传文件
curlRequest('http://www.xxx.com/addons/qiniu/index/upload',['file'=>$file,'type'=>$ext,'qiniutoken'=>$qiniutoken]);
curlRequest方法内容如下:
/**
* 发送请求
* @param $url
* @param array $bodys
* @param array $headers
* @param string $method
* @return array
*/
function curlRequest($url,$bodys = [],$headers = [],$method = 'POST'){
$curl = curl_init();
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_FAILONERROR, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, true); // 是否要求返回响应头
if (1 == strpos("$".$url, "https://"))
{
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
}
curl_setopt($curl, CURLOPT_POSTFIELDS, $bodys);
// 执行请求
$content = curl_exec($curl);
// 获得响应结果里的:头大小
$headerSize = curl_getinfo($curl, CURLINFO_HEADER_SIZE);
// 根据头大小去获取头信息内容
$header = substr($content, 0, $headerSize);
// 获取http响应状态码
$httpCode = curl_getinfo($curl,CURLINFO_HTTP_CODE);
$content = substr($content,$headerSize);
curl_close($curl);
return [
'http_code' => $httpCode,
'header' => $header,
'content' => $content
];
}
推荐文章
在fastadmin中,如何删除七牛云空间的图片
阅读 119
PHP怎么把文件内容转为formfile以传到第三方服务器
阅读 309
[PHP]获取网站ICO图标链接的方法,兼容ICO图标重定向的情景
阅读 501
[设计]电脑屏幕尺寸大全
阅读 479
[集合]屏幕尺寸大全
阅读 916
[设计]手机屏幕尺寸大全
阅读 462
[设计]iOS设计尺寸规范
阅读 851
[Flutter]MOB推送详细接入教程,闭坑指南
阅读 475
[设计]常用显示屏屏幕尺寸大全
阅读 474
网站安全评估怎么做[自评估]
阅读 185
[设计]平板屏幕尺寸大全
阅读 480
[设计]手表屏幕尺寸
阅读 506
Flutter MOB配置
阅读 484
【互联网】好玩的API汇总
阅读 352
[设计]Android设计尺寸规范
阅读 592
[设计]切图命名规范
阅读 635
Flutter1.10.3,HTTP Host Availability,checking the HTTP host: Operation timed out
阅读 494
使用CloudFlare白嫖阿里云香港OSS做图床
阅读 292
阿里云域名DNS服务器地址大全hichina和alidns
阅读 368