Przeglądaj źródła

Merge branch 'release/0.9.10-2'

Book Pauk 4 lat temu
rodzic
commit
4f871dd5ca

+ 7 - 2
server/core/Reader/BookConverter/ConvertDjvu.js

@@ -42,7 +42,7 @@ class ConvertDjvu extends ConvertHtml {
         }, abort);
         }, abort);
 
 
         const tifFileSize = (await fs.stat(tifFile)).size;
         const tifFileSize = (await fs.stat(tifFile)).size;
-        const limitSize = 3*this.config.maxUploadFileSize;
+        let limitSize = 3*this.config.maxUploadFileSize;
         if (tifFileSize > limitSize) {
         if (tifFileSize > limitSize) {
             throw new Error(`Файл для конвертирования слишком большой|FORLOG| ${tifFileSize} > ${limitSize}`);
             throw new Error(`Файл для конвертирования слишком большой|FORLOG| ${tifFileSize} > ${limitSize}`);
         }
         }
@@ -53,7 +53,7 @@ class ConvertDjvu extends ConvertHtml {
         await fs.remove(tifFile);
         await fs.remove(tifFile);
 
 
         //конвертируем в jpg
         //конвертируем в jpg
-        await this.execConverter(mogrifyPath, ['-quality', '20', '-verbose', '-format', 'jpg', `${dir}*.tif`], () => {
+        await this.execConverter(mogrifyPath, ['-quality', '20', '-scale', '2048', '-verbose', '-format', 'jpg', `${dir}*.tif`], () => {
             perc = (perc < 100 ? perc + 1 : 40);
             perc = (perc < 100 ? perc + 1 : 40);
             callback(perc);
             callback(perc);
         }, abort);
         }, abort);
@@ -83,12 +83,17 @@ class ConvertDjvu extends ConvertHtml {
         await Promise.all(loading);
         await Promise.all(loading);
 
 
         //формируем текст
         //формируем текст
+        limitSize = 2*this.config.maxUploadFileSize;
         let title = '';
         let title = '';
         if (uploadFileName)
         if (uploadFileName)
             title = uploadFileName;
             title = uploadFileName;
         let text = `<title>${title}</title>`;
         let text = `<title>${title}</title>`;
         for (const image of images) {
         for (const image of images) {
             text += `<fb2-image type="image/jpeg" name="${image.name}">${image.data}</fb2-image>`;
             text += `<fb2-image type="image/jpeg" name="${image.name}">${image.data}</fb2-image>`;
+
+            if (text.length > limitSize) {
+                throw new Error(`Файл для конвертирования слишком большой|FORLOG| text.length: ${text.length} > ${limitSize}`);
+            }
         }
         }
         return await super.run(Buffer.from(text), {skipCheck: true, isText: true, cutTitle: true});
         return await super.run(Buffer.from(text), {skipCheck: true, isText: true, cutTitle: true});
     }
     }