Laravel 上传图片及多张图片到七牛云
生活随笔
收集整理的這篇文章主要介紹了
Laravel 上传图片及多张图片到七牛云
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1:打開文檔運行官方SDK:composer require qiniu/php-sdk; 2:在app\Http目錄下新建文件夾Helpers并創建文件qiuniu.php; 3:在qiniu.php中寫入
<?php // 引入鑒權類 use Qiniu\Auth; // 引入上傳類 use Qiniu\Storage\UploadManager;function qiniu_upload($filePath) {// 需要填寫你的 Access Key 和 Secret Key$accessKey = '8qw4Vgq7MmycfixeI0UmDjWkGMQOT9y_IjaSsDMh';$secretKey = 'guzXcaqE0fY1PhcV20aNMn4_dr3O6aUf3A9zdkMO';// 構建鑒權對象$auth = new Auth($accessKey, $secretKey);// 要上傳的空間$bucket = 'nottdote';// 生成上傳 Token$token = $auth->uploadToken($bucket);// 上傳到七牛后保存的文件名$key = basename($filePath);// 初始化 UploadManager 對象并進行文件的上傳$uploadMgr = new UploadManager();// 調用 UploadManager 的 putFile 方法進行文件的上傳$uploadMgr->putFile($token, $key, $filePath);//刪除本地圖片unlink($filePath); } 復制代碼4:在根目錄找到composer.json文件,在autoload里面加入files并引入app/Http/Helper/qiuniu.php,終端運行composer dump-autoload命令. 5:首頁 引入 upload.js 以及 html5-fileupload 插件 6:新建ptoto路由并新建Photo控制器并寫入 store 方法,方法為:
<?phpnamespace App\Http\Controllers;use Illuminate\Http\Request;class PhotoController extends Controller {//上傳圖片public function store(Request $request){if ($request->hasFile('image') && $request->file('image')->isValid()) {$allow_type = ['image/png', 'image/jpeg', 'image/gif'];if (!in_array($request->image->getMimeType(), $allow_type)) {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, 'msg' => '/storage' . str_replace('public', '', $path)];//上傳到七牛$file_path = storage_path('app/') . $path;qiniu_upload($file_path);return ['status' => 1, 'msg' => 'http://p5xxnm0by.bkt.clouddn.com/' . basename($file_path)];}} } 復制代碼7:upload.js 中修改url 還有修改 下面的msg
$("input[name='image']").val(result.msg); $("#img_show").attr("src", result.msg); 復制代碼8:laravel中找到文件儲存,終端運行php artisan storage:link!
轉載于:https://juejin.im/post/5b1645af5188257d5a30c087
總結
以上是生活随笔為你收集整理的Laravel 上传图片及多张图片到七牛云的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浅谈csrf攻击以及yii2对其的防范措
- 下一篇: Apache Jserv protoco