mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-04-17 15:52:15 +00:00
fix thumbnail generation mutated data
This commit is contained in:
@@ -16,20 +16,17 @@ class CreateImageThumbnailAcionQueue
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function execute($file_name, $user_id, $thumnails_sizes)
|
||||
{
|
||||
|
||||
public function execute($file_name, $user_id, $thumnails_sizes, $source)
|
||||
{
|
||||
// Get image from disk
|
||||
$image = Storage::disk('local')->get("temp/$user_id/{$file_name}");
|
||||
|
||||
// Create intervention image
|
||||
$intervention = Image::make($image)->orientate();
|
||||
|
||||
|
||||
collect($thumnails_sizes)
|
||||
->each(function ($size) use ($intervention, $user_id, $file_name) {
|
||||
|
||||
dd($intervention->getWidth());
|
||||
|
||||
->each(function ($size) use ($image, $user_id, $file_name) {
|
||||
|
||||
// Create intervention image
|
||||
$intervention = Image::make($image)->orientate();
|
||||
|
||||
if ($intervention->getWidth() > $size['size']) {
|
||||
|
||||
// Generate thumbnail
|
||||
@@ -40,5 +37,11 @@ class CreateImageThumbnailAcionQueue
|
||||
}
|
||||
});
|
||||
|
||||
if($source === 'queue') {
|
||||
|
||||
// Delete file after generate a thumbnail
|
||||
Storage::disk('local')->delete("temp/$user_id/{$file_name}");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,10 +40,10 @@ class CreateImageThumbnailAction
|
||||
Storage::disk('local')->copy("files/$user_id/{$file_name}", "temp/$user_id/{$file_name}");
|
||||
|
||||
// Create thumbnail instantly
|
||||
$this->action->execute($file_name, $user_id, config('vuefilemanager.image_sizes.execute'));
|
||||
$this->action->execute($file_name, $user_id, config('vuefilemanager.image_sizes.execute'), 'execute');
|
||||
|
||||
// Create thumbnail queue job
|
||||
$this->action->onQueue()->execute($file_name, $user_id, config('vuefilemanager.image_sizes.queue'));
|
||||
$this->action->onQueue()->execute($file_name, $user_id, config('vuefilemanager.image_sizes.queue'), 'queue');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -605,8 +605,11 @@ if (! function_exists('get_thumbnail_file_list')) {
|
||||
*/
|
||||
function get_thumbnail_file_list(string $basename): Collection
|
||||
{
|
||||
return collect(array_merge(config('vuefilemanager.image_sizes.queue'), config('vuefilemanager.image_sizes.execute')))
|
||||
->map(fn ($item) => $item['name'] . '-' . $basename);
|
||||
return collect([
|
||||
config('vuefilemanager.image_sizes.queue'),
|
||||
config('vuefilemanager.image_sizes.execute'),
|
||||
])->collapse()
|
||||
->map(fn ($item) => $item['name'] . '-' . $basename);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -53,7 +53,10 @@ class FileTest extends TestCase
|
||||
"chunks/$file->basename"
|
||||
);
|
||||
|
||||
collect(array_merge(config('vuefilemanager.image_sizes.queue'), config('vuefilemanager.image_sizes.execute')))
|
||||
collect([
|
||||
config('vuefilemanager.image_sizes.queue'),
|
||||
config('vuefilemanager.image_sizes.execute'),
|
||||
])->collapse()
|
||||
->each(
|
||||
fn ($item) =>
|
||||
$disk->assertExists(
|
||||
|
||||
@@ -646,7 +646,7 @@ class TeamManagementTest extends TestCase
|
||||
// Put fake image into correct directory
|
||||
Storage::putFileAs("files/$member->id", $fakeFile, $fakeFile->name);
|
||||
|
||||
$thumbnail_sizes = collect(array_merge(config('vuefilemanager.image_sizes.queue'), config('vuefilemanager.image_sizes.execute')));
|
||||
$thumbnail_sizes = collect([config('vuefilemanager.image_sizes.queue'), config('vuefilemanager.image_sizes.execute')])->collapse();
|
||||
|
||||
// Create fake image thumbnails
|
||||
$thumbnail_sizes
|
||||
|
||||
12
webpack.mix.js
vendored
12
webpack.mix.js
vendored
@@ -35,12 +35,12 @@ mix.js('resources/js/main.js', 'public/js')
|
||||
clientLogLevel: 'none'
|
||||
}
|
||||
})
|
||||
.options({
|
||||
hmrOptions: {
|
||||
host: '192.168.1.112',
|
||||
port: '8080'
|
||||
},
|
||||
})
|
||||
// .options({
|
||||
// hmrOptions: {
|
||||
// host: '192.168.1.112',
|
||||
// port: '8080'
|
||||
// },
|
||||
// })
|
||||
.disableNotifications();
|
||||
|
||||
if (mix.inProduction()) {
|
||||
|
||||
Reference in New Issue
Block a user