in image share link, return s3 url address of image

This commit is contained in:
Čarodej
2022-04-07 09:11:49 +02:00
parent ade6b05bd0
commit 7bd1079ce9
4 changed files with 91 additions and 91 deletions

View File

@@ -1,75 +1,75 @@
{
"/js/main.js": "/js/main.js",
"/chunks/request.js": "/chunks/request.js?id=54752eacee1dc25b",
"/chunks/request-upload.js": "/chunks/request-upload.js?id=49626a12bd587b65",
"/chunks/setup-wizard.js": "/chunks/setup-wizard.js?id=3c2fc454c3fce8d2",
"/chunks/status-check.js": "/chunks/status-check.js?id=33911b8a77451a0e",
"/chunks/purchase-code.js": "/chunks/purchase-code.js?id=c1df85c34d7e9521",
"/chunks/database.js": "/chunks/database.js?id=c686d46622194c7e",
"/chunks/environment.js": "/chunks/environment.js?id=5d4fbf3deab71302",
"/chunks/app-setup.js": "/chunks/app-setup.js?id=56ac1474e0e87cb0",
"/chunks/admin-account.js": "/chunks/admin-account.js?id=666e7ee49b02b57c",
"/chunks/shared.js": "/chunks/shared.js?id=58de7ebceaeecd89",
"/chunks/shared/browser.js": "/chunks/shared/browser.js?id=8726d4eb9d8c6a0e",
"/chunks/shared/single-file.js": "/chunks/shared/single-file.js?id=e406e713302f961b",
"/chunks/shared/authenticate.js": "/chunks/shared/authenticate.js?id=ca8cc89fe5982782",
"/chunks/not-found.js": "/chunks/not-found.js?id=4cb8d3a7a2212c3c",
"/chunks/temporary-unavailable.js": "/chunks/temporary-unavailable.js?id=c71981d946a9ca71",
"/chunks/admin.js": "/chunks/admin.js?id=bbe36712f0c82d09",
"/chunks/dashboard.js": "/chunks/dashboard.js?id=29e15715c347ce6b",
"/chunks/invoices.js": "/chunks/invoices.js?id=70fb9a603be2f554",
"/chunks/subscriptions.js": "/chunks/subscriptions.js?id=94e96e1bb505ae59",
"/chunks/pages.js": "/chunks/pages.js?id=a78bbcf039e5d9e5",
"/chunks/page-edit.js": "/chunks/page-edit.js?id=ba309ccc95221294",
"/chunks/plans.js": "/chunks/plans.js?id=492aa4439e0fa2ec",
"/chunks/users.js": "/chunks/users.js?id=b5feffcc35d4b023",
"/chunks/user-create.js": "/chunks/user-create.js?id=a29fdec565540fa4",
"/chunks/plan-create/fixed.js": "/chunks/plan-create/fixed.js?id=b2e842f4f312aff2",
"/chunks/plan-create/metered.js": "/chunks/plan-create/metered.js?id=140d3aa05e7a450e",
"/chunks/user.js": "/chunks/user.js?id=dae4ac26750f99d0",
"/chunks/user-detail.js": "/chunks/user-detail.js?id=598392ba77bb2681",
"/chunks/user-storage.js": "/chunks/user-storage.js?id=0293215520c5e771",
"/chunks/user-subscription.js": "/chunks/user-subscription.js?id=eff779ab6866265e",
"/chunks/user-password.js": "/chunks/user-password.js?id=3fb4538cd2283ff5",
"/chunks/user-delete.js": "/chunks/user-delete.js?id=5a4fad364a41a35c",
"/chunks/plan.js": "/chunks/plan.js?id=d8ffa85dc9b68966",
"/chunks/plan-subscribers.js": "/chunks/plan-subscribers.js?id=3010ddb4ba7419e9",
"/chunks/plan-settings.js": "/chunks/plan-settings.js?id=f41fe30f2273279c",
"/chunks/plan-delete.js": "/chunks/plan-delete.js?id=6432308fb4313d44",
"/chunks/payments.js": "/chunks/payments.js?id=051e8246e2b5c9d0",
"/chunks/payments/billings.js": "/chunks/payments/billings.js?id=9068ff2602b50ab4",
"/chunks/payments/settings.js": "/chunks/payments/settings.js?id=208ac221d906d91b",
"/chunks/app-settings.js": "/chunks/app-settings.js?id=692d3291fb9d2cf7",
"/chunks/app-appearance.js": "/chunks/app-appearance.js?id=aef973f6a55425e8",
"/chunks/app-index.js": "/chunks/app-index.js?id=6a442cd46f8ae636",
"/chunks/app-environment.js": "/chunks/app-environment.js?id=96d1de956be9903d",
"/chunks/app-others.js": "/chunks/app-others.js?id=7407aeeb824211f6",
"/chunks/app-sign-in-out.js": "/chunks/app-sign-in-out.js?id=91065b9cee23b7b4",
"/chunks/app-adsense.js": "/chunks/app-adsense.js?id=18842ed46783ea39",
"/chunks/app-server.js": "/chunks/app-server.js?id=2813cb2498226c31",
"/chunks/app-language.js": "/chunks/app-language.js?id=da8fb3ae026fdfce",
"/chunks/homepage.js": "/chunks/homepage.js?id=4b9bf26e8b0a3e97",
"/chunks/dynamic-page.js": "/chunks/dynamic-page.js?id=e110e8923b6ca22f",
"/chunks/contact-us.js": "/chunks/contact-us.js?id=5ca104a75598dd39",
"/chunks/successfully-email-verified.js": "/chunks/successfully-email-verified.js?id=3153532f0d2273c8",
"/chunks/successfully-email-send.js": "/chunks/successfully-email-send.js?id=d630ed9f6f558509",
"/chunks/sign-in.js": "/chunks/sign-in.js?id=e1c4928ecf93bc0f",
"/chunks/sign-up.js": "/chunks/sign-up.js?id=c1cadbfd4ac0df7b",
"/chunks/forgotten-password.js": "/chunks/forgotten-password.js?id=9c62b8573fbdd567",
"/chunks/create-new-password.js": "/chunks/create-new-password.js?id=926b35b6745d99ba",
"/chunks/settings.js": "/chunks/settings.js?id=3f2a24ce4cfe172b",
"/chunks/profile.js": "/chunks/profile.js?id=4f1d8cad4a4cc40c",
"/chunks/settings-password.js": "/chunks/settings-password.js?id=359880c6417b14fe",
"/chunks/settings-storage.js": "/chunks/settings-storage.js?id=68765cac4e648e90",
"/chunks/billing.js": "/chunks/billing.js?id=e10952f60d374cc2",
"/chunks/platform.js": "/chunks/platform.js?id=a03210047050c0e6",
"/chunks/files.js": "/chunks/files.js?id=f16276650733655f",
"/chunks/recent-uploads.js": "/chunks/recent-uploads.js?id=61007e9d219737cd",
"/chunks/my-shared-items.js": "/chunks/my-shared-items.js?id=bdb05363288063d6",
"/chunks/trash.js": "/chunks/trash.js?id=085bcb195aa1b724",
"/chunks/team-folders.js": "/chunks/team-folders.js?id=b36f9e95c4607bd7",
"/chunks/shared-with-me.js": "/chunks/shared-with-me.js?id=40c66e9dca7ce9a8",
"/chunks/invitation.js": "/chunks/invitation.js?id=64a211c90b505767",
"/chunks/request.js": "/chunks/request.js?id=bb0e138b9f190b89",
"/chunks/request-upload.js": "/chunks/request-upload.js?id=54fed02f6ced4685",
"/chunks/setup-wizard.js": "/chunks/setup-wizard.js?id=19a0784e59d768ec",
"/chunks/status-check.js": "/chunks/status-check.js?id=f82f9939c1326fe2",
"/chunks/purchase-code.js": "/chunks/purchase-code.js?id=df5bd89528649783",
"/chunks/database.js": "/chunks/database.js?id=15cc488117dccf7b",
"/chunks/environment.js": "/chunks/environment.js?id=166cd302ba7338ae",
"/chunks/app-setup.js": "/chunks/app-setup.js?id=15938ff1ad2d6ed2",
"/chunks/admin-account.js": "/chunks/admin-account.js?id=916450217130f3b8",
"/chunks/shared.js": "/chunks/shared.js?id=fa0aa086699172e1",
"/chunks/shared/browser.js": "/chunks/shared/browser.js?id=843bc2d059e81de4",
"/chunks/shared/single-file.js": "/chunks/shared/single-file.js?id=e907fd044a0d31bf",
"/chunks/shared/authenticate.js": "/chunks/shared/authenticate.js?id=672e931a9fb0b672",
"/chunks/not-found.js": "/chunks/not-found.js?id=9f6ce23ce5d969f1",
"/chunks/temporary-unavailable.js": "/chunks/temporary-unavailable.js?id=f564565faa09d6d6",
"/chunks/admin.js": "/chunks/admin.js?id=e02ede51e45f7813",
"/chunks/dashboard.js": "/chunks/dashboard.js?id=a41b0f486b1f8d36",
"/chunks/invoices.js": "/chunks/invoices.js?id=1416cbf6d1a593ac",
"/chunks/subscriptions.js": "/chunks/subscriptions.js?id=5bf6704f5b599f36",
"/chunks/pages.js": "/chunks/pages.js?id=c8380d571e91e8be",
"/chunks/page-edit.js": "/chunks/page-edit.js?id=fb3f9eda3dc1d15c",
"/chunks/plans.js": "/chunks/plans.js?id=6e8c847c141e41e8",
"/chunks/users.js": "/chunks/users.js?id=ec687ee365c4248a",
"/chunks/user-create.js": "/chunks/user-create.js?id=8dd9d29f024132f5",
"/chunks/plan-create/fixed.js": "/chunks/plan-create/fixed.js?id=c994595021a98ce6",
"/chunks/plan-create/metered.js": "/chunks/plan-create/metered.js?id=d9f1bcb1fe44a6ae",
"/chunks/user.js": "/chunks/user.js?id=c191b906a0496fe5",
"/chunks/user-detail.js": "/chunks/user-detail.js?id=d53bfd58090b79e2",
"/chunks/user-storage.js": "/chunks/user-storage.js?id=a8e0bce4703232a0",
"/chunks/user-subscription.js": "/chunks/user-subscription.js?id=27d046c1122783ea",
"/chunks/user-password.js": "/chunks/user-password.js?id=23d3aee39f539a3c",
"/chunks/user-delete.js": "/chunks/user-delete.js?id=6bea6f8cadf4d74f",
"/chunks/plan.js": "/chunks/plan.js?id=4b267375ea9f19b3",
"/chunks/plan-subscribers.js": "/chunks/plan-subscribers.js?id=a956ceca6865c50c",
"/chunks/plan-settings.js": "/chunks/plan-settings.js?id=715ee86991d5e4db",
"/chunks/plan-delete.js": "/chunks/plan-delete.js?id=1ad77372d342326f",
"/chunks/payments.js": "/chunks/payments.js?id=dc4586691c25de6f",
"/chunks/payments/billings.js": "/chunks/payments/billings.js?id=dd6c9d6a29a47808",
"/chunks/payments/settings.js": "/chunks/payments/settings.js?id=22bce2575affd7af",
"/chunks/app-settings.js": "/chunks/app-settings.js?id=55da23af2b076069",
"/chunks/app-appearance.js": "/chunks/app-appearance.js?id=a694a01f3641712c",
"/chunks/app-index.js": "/chunks/app-index.js?id=efdbfa062749ca00",
"/chunks/app-environment.js": "/chunks/app-environment.js?id=6e5e264c7417af60",
"/chunks/app-others.js": "/chunks/app-others.js?id=abb8d96cd7c3a576",
"/chunks/app-sign-in-out.js": "/chunks/app-sign-in-out.js?id=1cfffc99465b9a7a",
"/chunks/app-adsense.js": "/chunks/app-adsense.js?id=a5dc9e715f8561bd",
"/chunks/app-server.js": "/chunks/app-server.js?id=3a41e04bde0d3536",
"/chunks/app-language.js": "/chunks/app-language.js?id=7e5f3d5ec447e397",
"/chunks/homepage.js": "/chunks/homepage.js?id=832072b46053df76",
"/chunks/dynamic-page.js": "/chunks/dynamic-page.js?id=2504793131107b1f",
"/chunks/contact-us.js": "/chunks/contact-us.js?id=9adc7e145be4e160",
"/chunks/successfully-email-verified.js": "/chunks/successfully-email-verified.js?id=25b805ade5230382",
"/chunks/successfully-email-send.js": "/chunks/successfully-email-send.js?id=f4562229776d9f56",
"/chunks/sign-in.js": "/chunks/sign-in.js?id=0d48d229038a3a1e",
"/chunks/sign-up.js": "/chunks/sign-up.js?id=bb92bad614e60d45",
"/chunks/forgotten-password.js": "/chunks/forgotten-password.js?id=50a1bc5e4ed86ec9",
"/chunks/create-new-password.js": "/chunks/create-new-password.js?id=f652de052dba55c1",
"/chunks/settings.js": "/chunks/settings.js?id=5768cb763e66f11a",
"/chunks/profile.js": "/chunks/profile.js?id=0eca231475e267ab",
"/chunks/settings-password.js": "/chunks/settings-password.js?id=3755d41eaf50a5b1",
"/chunks/settings-storage.js": "/chunks/settings-storage.js?id=994b669a56fd417b",
"/chunks/billing.js": "/chunks/billing.js?id=40e758c87bcf6e89",
"/chunks/platform.js": "/chunks/platform.js?id=1b39b72c0f800081",
"/chunks/files.js": "/chunks/files.js?id=99230d6e76d78e5f",
"/chunks/recent-uploads.js": "/chunks/recent-uploads.js?id=8ba6e0814135b24a",
"/chunks/my-shared-items.js": "/chunks/my-shared-items.js?id=c0ff62b58694657e",
"/chunks/trash.js": "/chunks/trash.js?id=d0db7e83583ff0df",
"/chunks/team-folders.js": "/chunks/team-folders.js?id=c52ff8e50d41546c",
"/chunks/shared-with-me.js": "/chunks/shared-with-me.js?id=3d220840e64a50a0",
"/chunks/invitation.js": "/chunks/invitation.js?id=9ed8456c9d6d5ce1",
"/css/tailwind.css": "/css/tailwind.css",
"/css/app.css": "/css/app.css"
}

View File

@@ -18,12 +18,10 @@ class DownloadFileAction
$filePath = "files/$file->user_id/$file->basename";
// Get pretty name
$fileName = getPrettyName($file->basename, $file->name, $file->mimetype);
$fileName = getPrettyName($file);
// Check if file exist
if (! Storage::exists($filePath)) {
return response('The file not found.', 404);
}
abort_if(Storage::missing($filePath), 404, 'The file not found.');
// Format response header
$header = [

View File

@@ -58,17 +58,24 @@ class SharePublicIndexController extends Controller
/**
* Get image from storage and show it
*/
private function get_single_image(File $file, string $user_id): StreamedResponse
private function get_single_image(File $file, string $userId): StreamedResponse|RedirectResponse
{
// Store user download size
($this->recordDownload)($file->getRawOriginal('filesize'), $user_id);
// Record user download
($this->recordDownload)($file->filesize, $userId);
// Get file path
$path = "/files/$user_id/$file->basename";
$path = "/files/$userId/$file->basename";
// Check if file exist
if (! Storage::exists($path)) {
abort(404);
abort_if(Storage::missing($path), 404);
// If s3 redirect to temporary download url
if (isStorageDriver('s3')) {
return redirect()->away(Storage::temporaryUrl($path, now()->addHour(), [
'ResponseAcceptRanges' => 'bytes',
'ResponseContentType' => Storage::mimeType($path),
'ResponseContentLength' => Storage::size($path),
]));
}
return Storage::response($path, "{$file->name}.{$file->mimetype}", [

View File

@@ -728,25 +728,20 @@ if (! function_exists('get_file_type_from_mimetype')) {
if (! function_exists('getPrettyName')) {
/**
* Format pretty name file
*
* @param $basename
* @param $name
* @param $mimetype
* @return string
*/
function getPrettyName($basename, $name, $mimetype): string
function getPrettyName(File $file): string
{
$file_extension = substr(strrchr($basename, '.'), 1);
$file_extension = substr(strrchr($file->basename, '.'), 1);
if (str_contains($name, $file_extension)) {
return $name;
if (str_contains($file->name, $file_extension)) {
return $file->name;
}
if ($file_extension) {
return $name . '.' . $file_extension;
return $file->name . '.' . $file_extension;
}
return $name . '.' . $mimetype;
return $file->name . '.' . $file->mimetype;
}
}