dyjh 6 years ago
parent
commit
0ad1c0bf74

+ 38 - 0
app/Http/Controllers/Admin/Album/ProductController.php

xqd xqd xqd xqd
@@ -13,6 +13,7 @@ use App\Models\AlbumProductModel;
 use App\Models\AlbumProductPriceModel;
 use App\Models\AlbumProductStyleModel;
 use App\Repositories\Album\Criteria\ProductWhere;
+use App\Services\OSS;
 use Illuminate\Http\Request;
 use App\Repositories\Base\Criteria\OrderBy;
 use App\Repositories\Album\Criteria\MultiWhere;
@@ -133,6 +134,8 @@ class ProductController extends Controller
     private function _createSave()
     {
         $data = (array) request('data');
+        dd($data);
+        $data['upload_video'] = $this->uploadVideo($data['upload_video'], '');
         $data['store_id'] = $this->getStoreId();
         if (!empty($data['specifications_img']['url'])) {
             foreach ($data['specifications_img']['url'] as $key => $val) {
@@ -175,6 +178,40 @@ class ProductController extends Controller
         }
     }
 
+    public function uploadVideo($video,$id)
+    {
+
+// 判断图片有效性
+        if (!$video) {
+            return back()->withErrors('上传视频无效..');
+        }
+        if ($id) {
+            $check = AlbumProductModel::where([['id',$id]])->first();
+            if ($check) {
+                $res = json_decode($check->upload_video, true);
+                OSS::publicDeleteObject(config('alioss.BucketName'), $res['oss_key']);
+            }
+        }
+
+// 获取图片在临时文件中的地址
+        $videoPath = $video->getRealPath();
+
+// 制作文件名
+        $ex = $video->getClientOriginalExtension();
+        $key = time() . rand(10000, 99999999) . '.' . $ex;
+//阿里 OSS 文件上传
+
+        $result = OSS::publicUpload(config('alioss.BucketName'), $key, $videoPath);
+        if ($result) {
+            $data['oss_key'] =  $key;
+            $data['url'] = config('alioss.FileUrl') . $key;
+            $data = json_encode($data);
+            return $data;
+        } else {
+            return false;
+        }
+    }
+
     /**
      *
      * 修改
@@ -208,6 +245,7 @@ class ProductController extends Controller
     private function _updateSave()
     {
         $data = (array) request('data');
+        $data['upload_video'] = $this->uploadVideo($data['upload_video'], request('id'));
         if (!empty($data['specifications_img']['url'])) {
             foreach ($data['specifications_img']['url'] as $key => $val) {
                 $data['specifications_img']['url'][$key] = $this->formatImgUrl($val);

+ 1 - 1
database/migrations/2019_04_26_152722_add_upload_video_to_album_product.php

xqd
@@ -15,7 +15,7 @@ class AddUploadVideoToAlbumProduct extends Migration
     {
         Schema::table('album_product', function (Blueprint $table) {
             //
-            $table->longText('upload_image')->nullable()->default(null);
+            $table->longText('upload_video')->nullable()->default(null);
         });
     }