Skip to content

Commit 8cf35de

Browse files
committed
added file size capability
1 parent d7e60b6 commit 8cf35de

File tree

5 files changed

+23
-15
lines changed

5 files changed

+23
-15
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ PR is welcome!
1010

1111
* The project was forked from [tsawler/laravel-filemanager](http://packalyst.com/packages/package/tsawler/laravel-filemanager)
1212
* Customizable routes and middlewares
13-
* Supported locales : en, fr, pt-BR, tr, zh-CN, zh-TW
13+
* Supported locales : en, fr, fa, pt-BR, tr, zh-CN, zh-TW
1414
* Supports public and private folders for multi users
1515
* Supports multi-level folders
1616
* Supports using independently(see integration doc)

src/config/lfm.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22

33
return [
44
// If true, the uploaded file will be renamed to uniqid() + file extension.
5-
'rename_file' => true,
5+
'rename_file' => false,
66

77
// If rename_file set to false and this set to true, then filter filename characters which are not alphanumeric.
88
'alphanumeric_filename' => true,
99

1010
'use_package_routes' => true,
1111

1212
// For laravel 5.2, please set to ['web', 'auth']
13-
'middlewares' => ['auth'],
13+
'middlewares' => ['web','auth'],
1414

1515
// Allow multi_user mode or not.
1616
// If true, laravel-filemanager create private folders for each signed-in user.
@@ -30,6 +30,9 @@
3030
'files_dir' => 'public/files/',
3131
'files_url' => '/files/',
3232

33+
'max_image_size' => 500,
34+
'max_file_size' => 1000,
35+
3336
// available since v1.3.0
3437
'valid_image_mimetypes' => [
3538
'image/jpeg',

src/controllers/UploadController.php

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ class UploadController extends LfmController {
1919

2020
private $default_file_types = ['application/pdf'];
2121
private $default_image_types = ['image/jpeg', 'image/png', 'image/gif'];
22+
// unit is assumed to be kb
23+
private $default_max_file_size = 1000;
24+
private $default_max_image_size = 500;
2225

2326
/**
2427
* Upload an image/file and (for images) create thumbnail
@@ -68,7 +71,6 @@ private function uploadValidator()
6871
// when uploading a file with the POST named "upload"
6972

7073
$expected_file_type = $this->file_type;
71-
$is_valid = false;
7274

7375
$file = Input::file('upload');
7476
if (empty($file)) {
@@ -79,27 +81,28 @@ private function uploadValidator()
7981
}
8082

8183
$mimetype = $file->getMimeType();
84+
// size to kb unit is needed
85+
$size = $file->getSize() / 1000;
8286

8387
if ($expected_file_type === 'Files') {
84-
$config_name = 'lfm.valid_file_mimetypes';
85-
$valid_mimetypes = Config::get($config_name, $this->default_file_types);
88+
$valid_mimetypes = Config::get('lfm.valid_file_mimetypes', $this->default_file_types);
89+
$max_size = Config::get('lfm.max_file_size', $this->default_max_file_size);
8690
} else {
87-
$config_name = 'lfm.valid_image_mimetypes';
88-
$valid_mimetypes = Config::get($config_name, $this->default_image_types);
91+
$valid_mimetypes = Config::get('lfm.valid_image_mimetypes', $this->default_image_types);
92+
$max_size = Config::get('lfm.max_image_size', $this->default_max_image_size);
8993
}
9094

9195
if (!is_array($valid_mimetypes)) {
92-
throw new \Exception('Config : ' . $config_name . ' is not set correctly');
96+
throw new \Exception('Config : lfm.valid_file_mimetypes is not set correctly');
9397
}
9498

95-
if (in_array($mimetype, $valid_mimetypes)) {
96-
$is_valid = true;
97-
}
98-
99-
if (false === $is_valid) {
99+
if (!in_array($mimetype, $valid_mimetypes)) {
100100
throw new \Exception(Lang::get('laravel-filemanager::lfm.error-mime') . $mimetype);
101+
}elseif($size > $max_size){
102+
throw new \Exception(Lang::get('laravel-filemanager::lfm.error-size') . $mimetype);
103+
}else{
104+
return true;
101105
}
102-
return $is_valid;
103106
}
104107

105108
private function getNewName($file)

src/lang/en/lfm.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
'error-folder-name' => 'Folder name cannot be empty!',
4242
'error-folder-exist'=> 'A folder with this name already exists!',
4343
'error-mime' => 'Unexpected MimeType: ',
44+
'error-size' => 'Over limit size:',
4445
'error-instance' => 'The uploaded file should be an instance of UploadedFile',
4546
'error-invalid' => 'Invalid upload request',
4647

src/lang/fa/lfm.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
'error-folder-name' => 'نام پوشه نمی تواند خالی باشد!',
4242
'error-folder-exist'=> 'یک پوشه با این نام قبلا ایجاد شده است!',
4343
'error-mime' => 'پسوند غیرمجاز: ',
44+
'error-size' => 'سایز بیش از حد:',
4445
'error-instance' => 'فایل آپلود شده باید نمونه ای از UploadedFile باشد',
4546
'error-invalid' => 'درخواست آپلود غیرمعتبر',
4647

0 commit comments

Comments
 (0)