Commit 3b54b988 authored by rockyl's avatar rockyl

init2

parent 0593c24e
...@@ -56,7 +56,7 @@ async function tinify(req, res, next) { ...@@ -56,7 +56,7 @@ async function tinify(req, res, next) {
} }
else if (Buffer.isBuffer(result)) { else if (Buffer.isBuffer(result)) {
res.sendRaw(result, { res.sendRaw(result, {
'Content-Type': input.type, 'Content-Type': input.mimeType,
}); });
} }
else { else {
...@@ -83,10 +83,15 @@ async function tinify(req, res, next) { ...@@ -83,10 +83,15 @@ async function tinify(req, res, next) {
url: result, url: result,
}; };
} }
else {
return result;
}
}))); })));
const data = {}; const data = {};
for (let item of result) { for (let item of result) {
data[item.key] = item.url; if (item.key) {
data[item.key] = item.url;
}
} }
res.send({ res.send({
code: 0, code: 0,
...@@ -110,30 +115,30 @@ async function prepareInputs(req) { ...@@ -110,30 +115,30 @@ async function prepareInputs(req) {
if (!acceptTypes.includes(file.type)) { if (!acceptTypes.includes(file.type)) {
continue; continue;
} }
let extname, buffer, type; let extname, buffer, mimeType;
if (file.type === TYPE_DATA_URL) { if (file.type === TYPE_DATA_URL) {
const dataUrl = await fs.readFile(file.path, 'utf-8'); const dataUrl = await fs.readFile(file.path, 'utf-8');
const result = dataUrl.match(/data:(image\/\w+);/); const result = dataUrl.match(/data:(image\/\w+);/);
if (result) { if (result) {
type = result[1]; mimeType = result[1];
if (!acceptTypes.includes(type)) { if (!acceptTypes.includes(mimeType)) {
continue; continue;
} }
extname = '.' + type.substr(type.indexOf('/') + 1); extname = '.' + mimeType.substr(mimeType.indexOf('/') + 1);
let base64Data = dataUrl.replace(/^data:image\/\w+;base64,/, ""); let base64Data = dataUrl.replace(/^data:image\/\w+;base64,/, "");
buffer = new Buffer(base64Data, 'base64'); buffer = new Buffer(base64Data, 'base64');
} }
} }
else { else {
type = file.type; mimeType = file.type;
if (!acceptTypes.includes(type)) { if (!acceptTypes.includes(mimeType)) {
continue; continue;
} }
extname = '.' + type.substr(type.indexOf('/') + 1); extname = '.' + mimeType.substr(mimeType.indexOf('/') + 1);
buffer = await fs.readFile(file.path); buffer = await fs.readFile(file.path);
} }
const input = { const input = {
type, mimeType,
key, key,
extname, extname,
buffer, buffer,
...@@ -166,6 +171,7 @@ async function tinifyOnce(input, type, cdnRoot) { ...@@ -166,6 +171,7 @@ async function tinifyOnce(input, type, cdnRoot) {
} }
} }
catch (e) { catch (e) {
logger_1.default.error('tinifyOnce error:', e);
return e; return e;
} }
} }
......
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"} {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
\ No newline at end of file \ No newline at end of file
...@@ -57,7 +57,7 @@ async function tinify(req, res, next) { ...@@ -57,7 +57,7 @@ async function tinify(req, res, next) {
}) })
} else if (Buffer.isBuffer(result)) { } else if (Buffer.isBuffer(result)) {
res.sendRaw(result, { res.sendRaw(result, {
'Content-Type': input.type, 'Content-Type': input.mimeType,
}) })
} else { } else {
logger.error('/tinify', 'compress failed', result.message) logger.error('/tinify', 'compress failed', result.message)
...@@ -80,12 +80,16 @@ async function tinify(req, res, next) { ...@@ -80,12 +80,16 @@ async function tinify(req, res, next) {
key: input.key, key: input.key,
url: result, url: result,
} }
} else {
return result
} }
}) })
)) ))
const data = {} const data = {}
for (let item of result) { for (let item of result) {
data[item.key] = item.url if (item.key) {
data[item.key] = item.url
}
} }
res.send({ res.send({
code: 0, code: 0,
...@@ -110,30 +114,30 @@ async function prepareInputs(req) { ...@@ -110,30 +114,30 @@ async function prepareInputs(req) {
continue continue
} }
let extname, buffer, type let extname, buffer, mimeType
if (file.type === TYPE_DATA_URL) { if (file.type === TYPE_DATA_URL) {
const dataUrl = await fs.readFile(file.path, 'utf-8') const dataUrl = await fs.readFile(file.path, 'utf-8')
const result = dataUrl.match(/data:(image\/\w+);/) const result = dataUrl.match(/data:(image\/\w+);/)
if (result) { if (result) {
type = result[1] mimeType = result[1]
if (!acceptTypes.includes(type)) { if (!acceptTypes.includes(mimeType)) {
continue continue
} }
extname = '.' + type.substr(type.indexOf('/') + 1) extname = '.' + mimeType.substr(mimeType.indexOf('/') + 1)
let base64Data = dataUrl.replace(/^data:image\/\w+;base64,/, "") let base64Data = dataUrl.replace(/^data:image\/\w+;base64,/, "")
buffer = new Buffer(base64Data, 'base64') buffer = new Buffer(base64Data, 'base64')
} }
} else { } else {
type = file.type mimeType = file.type
if (!acceptTypes.includes(type)) { if (!acceptTypes.includes(mimeType)) {
continue continue
} }
extname = '.' + type.substr(type.indexOf('/') + 1) extname = '.' + mimeType.substr(mimeType.indexOf('/') + 1)
buffer = await fs.readFile(file.path) buffer = await fs.readFile(file.path)
} }
const input: any = { const input: any = {
type, mimeType,
key, key,
extname, extname,
buffer, buffer,
...@@ -167,6 +171,7 @@ async function tinifyOnce(input, type, cdnRoot) { ...@@ -167,6 +171,7 @@ async function tinifyOnce(input, type, cdnRoot) {
return buffer return buffer
} }
} catch (e) { } catch (e) {
logger.error('tinifyOnce error:', e)
return e return e
} }
} }
...@@ -22,4 +22,4 @@ export function compressImage(buffer: Buffer, type) { ...@@ -22,4 +22,4 @@ export function compressImage(buffer: Buffer, type) {
case 'tinypng': case 'tinypng':
return compress(buffer, {returnType: 'buffer'}) return compress(buffer, {returnType: 'buffer'})
} }
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment