UploadController.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Http\Request;
  4. use Illuminate\Support\Str;
  5. class UploadController extends Controller
  6. {
  7. /**
  8. * Display a listing of the resource.
  9. *
  10. * @return \Illuminate\Http\Response
  11. */
  12. public function index()
  13. {
  14. //
  15. }
  16. /**
  17. * Store a newly created resource in storage.
  18. *
  19. * @param \Illuminate\Http\Request $request
  20. * @return \Illuminate\Http\Response
  21. */
  22. public function store(Request $request)
  23. {
  24. //
  25. $request->validate([
  26. 'file' => 'required',
  27. ]);
  28. $file = $request->file('file');
  29. //Move Uploaded File
  30. if($request->get('is_tmp',false) == false){
  31. $bucket = config('mint.attachments.bucket_name.permanent');
  32. }else{
  33. $bucket = config('mint.attachments.bucket_name.temporary');
  34. }
  35. $uploadFilename = Str::uuid().'.'.$file->extension();
  36. $filename = $file->storeAs($bucket,$uploadFilename);
  37. $json = array(
  38. 'filename' => $bucket.'/'.$uploadFilename,
  39. 'size' => $file->getSize(),
  40. 'type' => $file->getMimeType(),
  41. 'url' => storage_path('app/'.$filename),
  42. 'uid' => Str::uuid(),
  43. );
  44. return $this->ok($json);
  45. }
  46. /**
  47. * Display the specified resource.
  48. *
  49. * @param int $id
  50. * @return \Illuminate\Http\Response
  51. */
  52. public function show($id)
  53. {
  54. //
  55. }
  56. /**
  57. * Update the specified resource in storage.
  58. *
  59. * @param \Illuminate\Http\Request $request
  60. * @param int $id
  61. * @return \Illuminate\Http\Response
  62. */
  63. public function update(Request $request, $id)
  64. {
  65. //
  66. }
  67. /**
  68. * Remove the specified resource from storage.
  69. *
  70. * @param int $id
  71. * @return \Illuminate\Http\Response
  72. */
  73. public function destroy($id)
  74. {
  75. //
  76. }
  77. }