1.首先引入两个插件
2.在https://developer.qiniu.com/kodo/sdk/1241/php找到安装命令
在终端运行composer require qiniu/php-sdk
3.自定义一个全局辅助函数,首先在项目的Http文件夹中新建Helpers
文件夹,里面新建一个文件,名字就叫qiniu.php,注意引入
// 引入鉴权类
use Qiniu\Auth;
// 引入上传类
use Qiniu\Storage\UploadManager;
在composer.json里写上
"files": [
???"app/Http/Helpers/qiniu.php",
],
然后在终端中执行自动加载命令:composer dump-autoload
命令,使其生效。
4.定义一个文件上传的upload.js
//文件上传
var opts = {
???url: "/photos",
???type: "POST",
???success: function (result) {
???????if (result.status == 0) {
???????????alert(result.msg);
???????????return false;
???????}
???????$("input[name=‘image‘]").val(result.msg);
???????$("#img_show").attr("src", result.msg);
???},
???error: function () {
???????alert(‘文件上传失败‘);
???}
};
$(‘#image_upload‘).fileUpload(opts);
5.创建图片上传控制器
photocontroller.php
class PhotoController extends Controller
{
???/***
????* 上传图片
????* @param Request $request
????*/
???public function store(Request $request)
???{
???????if ($request->hasFile(‘image‘) && $request->file(‘image‘)->isValid()) {
???????????$allow_types = [‘image/png‘, ‘image/jpeg‘, ‘image/gif‘];
???????????if (!in_array($request->image->getMimeType(), $allow_types)) {
???????????????return [‘status‘ => 0, ‘msg‘ => ‘图片类型不正确!‘];
???????????}
???????????if ($request->image->getClientSize() > 1024 * 1024 * 3) {
???????????????return [‘status‘ => 0, ‘msg‘ => ‘图片大小不能超过 3M!‘];
???????????}
???????????$path = $request->image->store(‘public/images‘);
???????????//上传到本地
// ???????????return [‘status‘ => 1, ‘image_url‘ => ‘/storage‘ . str_replace(‘public‘, ‘‘, $path)];
???????????//上传到七牛
???????????$file_path = storage_path(‘app/‘) . $path;
???????????qiniu_upload($file_path);
???????????return [‘status‘ => 1, ‘msg‘ => ‘http://img.php233.club/‘ . basename($file_path)];
???????}
???}
}
可以使用图片上传功能了!
laravel上传到七牛图片插件
原文地址:https://www.cnblogs.com/big2cat/p/10605738.html