blob: 568048c6ab1547f8c324713bb320b629ee5c300e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Storage;
class SiteController extends Controller
{
/**
* provide select environment variables to javascript
*/
public static function env(){
$vars = [
'API_URL' => $_ENV['API_URL'],
'WS_URL' => $_ENV['WS_URL'],
'FILEUPLOAD_URL' => $_ENV['FILEUPLOAD_URL'] ?? '', //these 3 file vars are from old 'thesite'. fileup_url might end up being same as api_url
'FILEUPLOAD_MAX_MB' => $_ENV['FILEUPLOAD_MAX_MB'] ?? '',
'FILEUPLOAD_CHUNK_MB' => $_ENV['FILEUPLOAD_CHUNK_MB'] ?? ''
];
return $vars;
}
public static function duneQuote(){
return '<b>todo</b>';
}
public function uploadFiles(Request $req){
$files = $req->file('f');
$res = [
'num_files' => sizeof($files),
'num_failed'=> 0,
'num_uploaded' => 0,
'success' => false,
'files' => []
];
foreach ($files as $f){
//validate file
/*$validated = $req->validate([
'f' => 'required|file|max:10240', //10MB
]);*/
$filename = $f->getClientOriginalName();
if (Storage::disk('public')->fileExists($filename)){
$filename = Carbon::now()->timestamp.'_'.$filename;
}
$path = $f->storeAs(
'uploads',
$filename,
'public'
);
if ($path){
$res['num_uploaded'] += 1;
array_push($res['files'], $path);
} else {
$res['num_failed'] += 1;
}
if ($res['num_uploaded'] == sizeof($files)){
$res['success'] = true;
}
}
return $res;
}
}
|