У меня есть функция, которая возвращает файл SVG, который был ранее сгенерирован jSignature и сохранен в файл. Мой сценарий получает фактическое содержимое файла с помощью вызова ajax вместе с другими данными о подписи в большом объекте JSON.
Это автономный проект, поэтому я пытаюсь сохранить данные SVG в локальном хранилище для рендеринга в автономном режиме. Вот почему я не могу просто ссылаться на файлы SVG на сервере.
Я хочу назначить данные изображения SVG элементу IMG, чтобы пользователь мог видеть их в браузере. Как я могу установить эти данные SVG непосредственно в тег IMG без необходимости сначала записывать их в файл?
Если я попытаюсь установить свойство 'src', на изображении появится значок недопустимого изображения. Я также добавил текст «data: image / svg + xml» перед фактическими данными SVG, но без изменений.
Вот пример:
// This would be read from localStorage:
var image_data = '<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?><!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\"><svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" width=\"1000\" height=\"151\"><path />...snipped...</svg>';
// Show the SVG image:
$("#image1").attr('src', 'data:image/svg+xml,' + image_data);
Однако это не работает. Что я делаю не так?