diff --git a/packages/rocketchat-file-upload/.npm/package/npm-shrinkwrap.json b/packages/rocketchat-file-upload/.npm/package/npm-shrinkwrap.json
index 3accf2dba6e3799c744b496c4ff9cfd8daefc9a3..62e1770f2f683ceef5a60343fedd40569ba92572 100644
--- a/packages/rocketchat-file-upload/.npm/package/npm-shrinkwrap.json
+++ b/packages/rocketchat-file-upload/.npm/package/npm-shrinkwrap.json
@@ -1,16 +1,19 @@
 {
   "dependencies": {
+    "filesize": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.3.0.tgz",
+      "from": "filesize@3.3.0"
+    },
+    "mime-db": {
+      "version": "1.23.0",
+      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz",
+      "from": "mime-db@>=1.23.0 <1.24.0"
+    },
     "mime-types": {
       "version": "2.1.11",
       "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz",
-      "from": "mime-types@2.1.11",
-      "dependencies": {
-        "mime-db": {
-          "version": "1.23.0",
-          "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz",
-          "from": "mime-db@1.23.0"
-        }
-      }
+      "from": "mime-types@2.1.11"
     }
   }
 }
diff --git a/packages/rocketchat-file-upload/client/lib/FileUploadFileSystem.js b/packages/rocketchat-file-upload/client/lib/FileUploadFileSystem.js
index f42522813fef462bebcfdc245f5ad672bd74da65..b18528c037ec5094d5ce09b26fbf963a13dd745b 100644
--- a/packages/rocketchat-file-upload/client/lib/FileUploadFileSystem.js
+++ b/packages/rocketchat-file-upload/client/lib/FileUploadFileSystem.js
@@ -53,6 +53,14 @@ FileUpload.FileSystem = class FileUploadFileSystem extends FileUploadBase {
 	}
 
 	start() {
+		const uploading = Session.get('uploading') || [];
+		const item = {
+			id: this.id,
+			name: this.getFileName(),
+			percentage: 0,
+		};
+		uploading.push(item);
+		Session.set('uploading', uploading);
 		return this.handler.start();
 	}
 
diff --git a/packages/rocketchat-file-upload/client/lib/FileUploadGridFS.js b/packages/rocketchat-file-upload/client/lib/FileUploadGridFS.js
index 29ede7019433b96a1043cf0f95a60fe8020b3215..b0f68a5eee2eae01468ba5aa7479723aa70601f0 100644
--- a/packages/rocketchat-file-upload/client/lib/FileUploadGridFS.js
+++ b/packages/rocketchat-file-upload/client/lib/FileUploadGridFS.js
@@ -44,6 +44,14 @@ FileUpload.GridFS = class FileUploadGridFS extends FileUploadBase {
 	}
 
 	start() {
+		const uploading = Session.get('uploading') || [];
+		const item = {
+			id: this.id,
+			name: this.getFileName(),
+			percentage: 0,
+		};
+		uploading.push(item);
+		Session.set('uploading', uploading);
 		return this.handler.start();
 	}
 
diff --git a/packages/rocketchat-file-upload/globalFileRestrictions.js b/packages/rocketchat-file-upload/globalFileRestrictions.js
index 737e61a1e9c5e7c52a160bc0163ec9d1d6e86f05..aa13684a514eaebd1aba570ae0fb7dfe757d6f7a 100644
--- a/packages/rocketchat-file-upload/globalFileRestrictions.js
+++ b/packages/rocketchat-file-upload/globalFileRestrictions.js
@@ -1,5 +1,7 @@
 /* globals Slingshot */
 
+import filesize from 'filesize';
+
 Slingshot.fileRestrictions('rocketchat-uploads', {
 	authorize: function(file/*, metaContext*/) {
 		if (!RocketChat.fileUploadIsValidContentType(file.type)) {
@@ -9,7 +11,7 @@ Slingshot.fileRestrictions('rocketchat-uploads', {
 		var maxFileSize = RocketChat.settings.get('FileUpload_MaxFileSize');
 
 		if (maxFileSize && maxFileSize < file.size) {
-			throw new Meteor.Error(TAPi18n.__('File_exceeds_allowed_size_of_bytes', { size: maxFileSize }));
+			throw new Meteor.Error(TAPi18n.__('File_exceeds_allowed_size_of_bytes', { size: filesize(maxFileSize) }));
 		}
 
 		//Deny uploads if user is not logged in.
diff --git a/packages/rocketchat-file-upload/lib/FileUpload.js b/packages/rocketchat-file-upload/lib/FileUpload.js
index ad60d50112bf1481541c160e97a2c2e9058bc859..c5fb1a87a6becdeafbf9165327e786307a830816 100644
--- a/packages/rocketchat-file-upload/lib/FileUpload.js
+++ b/packages/rocketchat-file-upload/lib/FileUpload.js
@@ -1,16 +1,24 @@
 /* globals FileUpload:true */
 /* exported FileUpload */
 
-var maxFileSize = 0;
+import filesize from 'filesize';
+
+let maxFileSize = 0;
 
 FileUpload = {
 	validateFileUpload(file) {
 		if (file.size > maxFileSize) {
-			throw new Meteor.Error('error-file-too-large', 'File is too large');
+			const user = Meteor.user();
+			const reason = TAPi18n.__('File_exceeds_allowed_size_of_bytes', {
+				size: filesize(maxFileSize),
+			}, user.language);
+			throw new Meteor.Error('error-file-too-large', reason);
 		}
 
 		if (!RocketChat.fileUploadIsValidContentType(file.type)) {
-			throw new Meteor.Error('error-invalid-file-type', 'File type is not accepted');
+			const user = Meteor.user();
+			const reason = TAPi18n.__('File_type_is_not_accepted', user.language);
+			throw new Meteor.Error('error-invalid-file-type', reason);
 		}
 
 		return true;
diff --git a/packages/rocketchat-file-upload/package.js b/packages/rocketchat-file-upload/package.js
index 5bd5f0a6d8870a90837fce38dc11470ac4aaed69..cb80a8a7cbf3f33e13633e604c8b15117463d02f 100644
--- a/packages/rocketchat-file-upload/package.js
+++ b/packages/rocketchat-file-upload/package.js
@@ -47,5 +47,6 @@ Package.onUse(function(api) {
 });
 
 Npm.depends({
-	'mime-types': '2.1.11'
+	'mime-types': '2.1.11',
+	'filesize': '3.3.0',
 });
diff --git a/packages/rocketchat-i18n/i18n/en.i18n.json b/packages/rocketchat-i18n/i18n/en.i18n.json
index 4ab277ca795d4e86d866484b10acd2742a6d9595..f82c05aa79972e46511eeaf3077bc5ac6a848a57 100644
--- a/packages/rocketchat-i18n/i18n/en.i18n.json
+++ b/packages/rocketchat-i18n/i18n/en.i18n.json
@@ -452,7 +452,8 @@
   "Field" : "Field",
   "Field_removed" : "Field removed",
   "Field_required" : "Field required",
-  "File_exceeds_allowed_size_of_bytes" : "File exceeds allowed size of __size__ bytes",
+  "File_exceeds_allowed_size_of_bytes" : "File exceeds allowed size of __size__.",
+  "File_type_is_not_accepted": "File type is not accepted.",
   "FileUpload" : "File Upload",
   "FileUpload_Enabled" : "File Uploads Enabled",
   "FileUpload_File_Empty" : "File empty",
diff --git a/packages/rocketchat-i18n/i18n/ja.i18n.json b/packages/rocketchat-i18n/i18n/ja.i18n.json
index 20edc9b6e6126f371b72cfff1536b678940ee06e..6d16d1dd65edfbed864e9fbbce57cf7187701e7c 100644
--- a/packages/rocketchat-i18n/i18n/ja.i18n.json
+++ b/packages/rocketchat-i18n/i18n/ja.i18n.json
@@ -412,7 +412,8 @@
   "Features_Enabled" : "有効な機能",
   "Field" : "フィールド",
   "Field_removed" : "フィールド削除",
-  "File_exceeds_allowed_size_of_bytes" : "ファイルが許可されているサイズ __size__ バイトを超過しています。",
+  "File_exceeds_allowed_size_of_bytes" : "ファイルが許可されているサイズ __size__ を超過しています。",
+  "File_type_is_not_accepted": "許可されていないファイルタイプです。",
   "FileUpload" : "ファイルアップロード",
   "FileUpload_Enabled" : "ファイルアップロードを有効にする",
   "FileUpload_File_Empty" : "ファイルが空です",