Browse Source

Support file uploads

Vijayakrishnan Krishnan 4 years ago
parent
commit
05ad25a180
2 changed files with 17 additions and 8 deletions
  1. 0 1
      .idea/stagfe.iml
  2. 17 7
      app/Http/Controllers/AppSessionController.php

+ 0 - 1
.idea/stagfe.iml

@@ -7,7 +7,6 @@
       <sourceFolder url="file://$MODULE_DIR$/tests" isTestSource="true" packagePrefix="Tests\" />
       <excludeFolder url="file://$MODULE_DIR$/bootstrap/cache" />
       <excludeFolder url="file://$MODULE_DIR$/public/AdminLTE-3.0.5" />
-      <excludeFolder url="file://$MODULE_DIR$/storage" />
       <excludeFolder url="file://$MODULE_DIR$/vendor" />
       <excludeFolder url="file://$MODULE_DIR$/vendor/asm89/stack-cors" />
       <excludeFolder url="file://$MODULE_DIR$/vendor/brick/math" />

+ 17 - 7
app/Http/Controllers/AppSessionController.php

@@ -274,14 +274,24 @@ class AppSessionController extends Controller
         }
 
         $url = env('BACKEND_URL', 'http://localhost:8080') . $request->input('_api');
-        // dd($url);
-
-        $response = Http::asForm()
-            ->withHeaders(['sessionKey'=>$request->cookie('sessionKey')])
-            ->post($url, $data)
-            ->json();
 
-        // dd($response);
+        $file = $request->file('file');
+        if($file) {
+            $localFile = $file->store("storage/uploads");
+            $stream = fopen(storage_path("app/" . $localFile), 'r');
+            $response = Http::asMultipart()
+                ->withHeaders(['sessionKey'=>$request->cookie('sessionKey')])
+                ->attach('file', $stream, $file->getClientOriginalName())
+                ->post($url, $data)
+                ->json();
+            fclose($stream);
+        }
+        else {
+            $response = Http::asForm()
+                ->withHeaders(['sessionKey'=>$request->cookie('sessionKey')])
+                ->post($url, $data)
+                ->json();
+        }
 
         if(!isset($response['success']) || !$response['success']){
             $message = 'API error';