Parcourir la source

文章图片上传至阿里云

任敬轩 il y a 1 an
Parent
commit
98af4a3fd1

+ 1 - 1
Modules/Camera/Http/Controllers/Api/HaiKangController.php

@@ -606,7 +606,7 @@ class HaiKangController extends BaseController
         $degree = MineList::where('id', $query->mine_id)->value('degree');
 
         $mine_list = MineList::whereIn('id', explode('|', $degree))->select(['title'])->get()->toArray();
-
+    
         $path = '';
         foreach ($mine_list as $key => $val) {
             $path .= '/' . $val['title'];

+ 66 - 0
Modules/Camera/Http/Controllers/CameraController.php

@@ -24,6 +24,8 @@ use Modules\Mine\Entities\WorkingSurfaceCamera;
 use Modules\Mine\Services\MineServices;
 use Modules\Mine\Services\SurfaceServices;
 use DB;
+use OSS\OssClient;
+use Illuminate\Support\Facades\Config;
 
 class CameraController extends BaseController
 {
@@ -907,4 +909,68 @@ class CameraController extends BaseController
 
         return $this->success($result);
     }
+
+    //文章图片上传至阿里云
+    public function ossUrl(Request $request){
+        $params = $request->all();
+
+        $result = $this->downloadFile('https://wechatpay.cercai.com/uploads/images/17.jpg');
+        dd($result);
+        return $result;
+    }
+
+    //下载文件
+    public function downloadFile($file_path)
+    {
+        $rename    = mt_rand(1111111,9999999);
+
+        if (!$file_path) {
+            return false;
+        }
+
+        set_time_limit(0);
+
+        $ch = curl_init($file_path);
+        curl_setopt($ch, CURLOPT_HEADER, 0);
+        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
+        curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
+        $rawdata = curl_exec ($ch);
+        curl_close ($ch);
+        // 使用中文文件名需要转码
+        $fp = fopen(public_path() . '/filedownload/' . $rename.'.jpg', 'w');
+        fwrite($fp, $rawdata);
+        fclose($fp);
+
+        $file_name = $rename;
+
+        //上传文件
+        $file_oss_path = $this->uploadFile($file_name);
+        return $file_oss_path;
+    }
+
+    //上传文件
+    public function uploadFile($file_name)
+    {
+        try{
+            $oss = new OssClient(
+                Config::get('filesystems.disks.oss_view.access_key'),
+                Config::get('filesystems.disks.oss_view.secret_key'),
+                Config::get('filesystems.disks.oss_view.endpoint')
+            );
+
+            $file_path = public_path() . '/filedownload/' . $file_name.'.jpg';
+            $res = $oss->uploadFile(Config::get('filesystems.disks.oss_view.bucket'), $file_name.'.jpeg', $file_path);
+        } catch(\OssException $e) {
+            printf(__FUNCTION__ . ": FAILED\n");
+            printf($e->getMessage() . "\n");
+
+            return;
+        }
+        if (isset($res['info']['url']) && $res['info']['url']) {
+            unlink($file_path);
+            return urldecode($res['info']['url']);
+        } else {
+            return false;
+        }
+    }
 }

+ 1 - 0
Modules/Camera/Routes/web.php

@@ -29,6 +29,7 @@ Route::prefix('admin')->group(function() {
     Route::get('/camera/mine/list', 'CameraController@mineList');//摄像头管理区域列表ajax
     Route::get('/camera/update', 'CameraController@cameraUpdate');//摄像头列表更新ajax
     Route::get('/camera/camerapage', 'CameraController@camerapage');//摄像头列表分页ajax
+    Route::post('/article/oss_url','CameraController@ossUrl');//文章图片上传至阿里云
 
     //摄像头链接生成字段管理
 //    Route::get('/camera/field_list', 'CameraController@fieldList');

+ 3 - 0
app/Http/Controllers/TestsController.php

@@ -28,6 +28,9 @@ class TestsController {
 
     public function test()
     {
+        $res = DB::connection('etl_zaoquan')->select("select * from news_column_list")->get();
+        dd($res);
+
         //宁煤洗选重复摄像头
         //$this->xixuan_repeat();