Procházet zdrojové kódy

big:fix> 修复svgTobase64方法,与big-edit中的svgTobase64方法保持一致

yunxing před 4 roky
rodič
revize
db28684b06
1 změnil soubory, kde provedl 9 přidání a 4 odebrání
  1. 9 4
      persagy-web-big/src/utils/svgTobase64.ts

+ 9 - 4
persagy-web-big/src/utils/svgTobase64.ts

@@ -14,14 +14,19 @@ export function svgTobase64(url: string) {
                 .get(url)
                 .then(res => {
                     if (res.data) {
+                        const regexp = /\<\?xml .*\?\>/i,
+                          newXml = '<?xml version="1.0" encoding="UTF-8"?>';
+                        res.data = res.data.replace(regexp, newXml);
+                        if ("<?xml".indexOf(res.data) === -1) {
+                          res.data = '<?xml version="1.0" encoding="UTF-8"?>' + res.data;
+                        }
                         const index = res.data.indexOf('"UTF-8"?>');
                         const str = res.data.substr(index + 9);
                         const a = crypto.enc.Utf8.parse(str);
                         baseUrl =
-                            "data:image/svg+xml;base64," +
-                            crypto.enc.Base64.stringify(a);
-                    }
-                    relve(baseUrl);
+                          "data:image/svg+xml;base64," + crypto.enc.Base64.stringify(a);
+                      }
+                      relve(baseUrl)
                 })
                 .catch(err => {
                     res(err);