Skip to content

Commit 909ce7a

Browse files
committed
Better optimization
1 parent 6686b8f commit 909ce7a

File tree

3 files changed

+19
-9
lines changed

3 files changed

+19
-9
lines changed

lib/uploadhandler.js

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -117,12 +117,21 @@ module.exports = function (options) {
117117
var ext = path.extname(fileInfo.originalName);
118118
// optimize the image
119119
if (ext.endsWith('png')) {
120-
await op.png({
121-
compressionLevel: 9,
122-
quality: 80,
123-
adaptiveFiltering: true,
124-
}).toFile(file.path)
125-
ext = '.png';
120+
var metadata = await sharp(data).metadata()
121+
if (metadata.hasAlpha) {
122+
await op.webp({ quality: 80, alphaQuality: 80 }).toFile(file.path)
123+
data = fs.readFileSync(file.path);
124+
await sharp(data).png({ compressionLevel: 9 }).toFile(file.path)
125+
ext = '.png';
126+
} else {
127+
// just convert to jpeg
128+
await op.jpeg({
129+
quality: 80,
130+
chromaSubsampling: '4:4:4',
131+
optimiseScans: true,
132+
}).toFile(file.path)
133+
ext = '.jpg';
134+
}
126135
} else if (ext.endsWith('webp')) {
127136
await op.png({
128137
quality: 80,
@@ -132,6 +141,7 @@ module.exports = function (options) {
132141
await op.jpeg({
133142
quality: 80,
134143
chromaSubsampling: '4:4:4',
144+
optimiseScans: true,
135145
}).toFile(file.path)
136146
ext = '.jpg';
137147
}

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"express",
99
"middleware"
1010
],
11-
"version": "0.2.1",
11+
"version": "0.2.2",
1212
"dependencies": {
1313
"async": "*",
1414
"formidable": ">=1.0.11",
@@ -30,6 +30,6 @@
3030
"scripts": {
3131
"test": "echo \"Error: no test specified\" && exit 1"
3232
},
33-
"_id": "jquery-file-upload-middleware@0.2.1",
33+
"_id": "jquery-file-upload-middleware@0.2.2",
3434
"license": "MIT"
3535
}

0 commit comments

Comments
 (0)