Cкачивание SVG

artomka

Client
Регистрация
23.08.2018
Сообщения
159
Благодарностей
93
Баллы
28
Всем привет, может кто сталкивался с svg в формате
HTML:
<img class="css-1motqmv" src="data:image/svg+xml;utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%20standalone%3D%22no%22%3F%3E%0A%3Csvg"
никак не могу понять как сохранять такие файлы на комп.

В хроме просто правый щелчок мыши+ сохранить как и svg файл готов, а как сделать это програмно не понимаю.

Заранее спасибо!

П.С.

Нашел вот такой код на гитхабе для скачки:

JavaScript:
      var dataURL = "data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%22-350%20-250%20700%20500%22%3E%0A%20%20%20%20%20%20%3Cstyle%20type%3D%22text%2Fcss%22%20media%3D%22screen%22%3E%0A%20%20%20%20%20%20%20%20svg%20%7B%20background%3A%23fff%3B%20%7D%0A%20%20%20%20%20%20%20%20.face%20%7B%20stroke%3A%23000%3B%20stroke-width%3A20px%3B%20stroke-linecap%3Around%20%7D%0A%20%20%20%20%20%20%3C%2Fstyle%3E%0A%20%20%20%20%20%20%3Ccircle%20r%3D%22200%22%20class%3D%22face%22%20fill%3D%22red%22%2F%3E%0A%20%20%20%20%20%20%3Cpath%20fill%3D%22none%22%20class%3D%22face%22%20transform%3D%22translate(-396%2C-230)%22%20d%3D%22M487%2C282c-15%2C36-51%2C62-92%2C62%20c-41%2C0-77-25-92-61%22%2F%3E%0A%20%20%20%20%20%20%3Ccircle%20cx%3D%22-60%22%20cy%3D%22-50%22%20r%3D%2220%22%20fill%3D%22%23000%22%2F%3E%0A%20%20%20%20%20%20%3Ccircle%20cx%3D%2260%22%20cy%3D%22-50%22%20r%3D%2220%22%20fill%3D%22%23000%22%2F%3E%0A%20%20%20%20%3C%2Fsvg%3E";

      function download(){
        var dl = document.createElement("a");
        document.body.appendChild(dl); // This line makes it work in Firefox.
        dl.setAttribute("href", dataURL);
        dl.setAttribute("download", "test.svg");
        dl.click();
      }
      download()
Все работает если выполнять в браузере, а вот как локально его крутить не понятно :(
 
Последнее редактирование:

bigloafer

Client
Регистрация
23.07.2020
Сообщения
241
Благодарностей
75
Баллы
28
Пациента в студию.
Просто GET/POST запросом не сохранить "как файл" с декодированием?
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 690
Баллы
113
svg это просто набор инструкций для отрисовки в браузере (векторная графика). для получения картинки без браузера, надо получить svg гет запросом, создать холст в памяти и отрисовать все инструкции на этом холсте, потом холст сохранить как картинку. изи :-)
ну как скачивать думаю не вызовет проблем, а вот все остальное это вот даааа.... сложная задача.
как костыль есть онлайн конвертер https://svgtopng.com/ru/ , но зачем он нужен когда и в зенке есть свой браузер.
вот еще несколько идей люди накидали. можно взять некоторые как вектор действий тык
 
Последнее редактирование:
  • Спасибо
Реакции: artomka

artomka

Client
Регистрация
23.08.2018
Сообщения
159
Благодарностей
93
Баллы
28
svg это просто набор инструкций для отрисовки в браузере (векторная графика). для получения картинки без браузера, надо получить svg гет запросом, создать холст в памяти и отрисовать все инструкции на этом холсте, потом холст сохранить как картинку. изи :-)
ну как скачивать думаю не вызовет проблем, а вот все остальное это вот даааа.... сложная задача.
как костыль есть онлайн конвертер https://svgtopng.com/ru/ , но зачем он нужен когда и в зенке есть свой браузер.
вот еще несколько идей люди накидали. можно взять некоторые как вектор действий тык
Спасибо за развертнутый ответ.

Решил пока что остановится на том js скрипте что скинул в старте + svgexport.

Все работает в отдельном проекте с браузером который только отрисовкой + преобразованием в пнг и занимается в однопотоке, проблем вроде как не заметил за пару часов работы.

П.С. svgexport умеет сразу разбирать data:imagе но там нужно xml переводить в json и я не стал этим заниматься.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)