Usando AJAX, envío una imagen svg a Django usando la siguiente función:
function uploadSVG(){ var svgImage = document.getElementById("SVG"); var serializer = new XMLSerializer(); var svgStr = serializer.serializeToString(svgImage); $(document).ready(function(){ $.post("ajax_upload_svg/", { csrfmiddlewaretoken: csrftoken, svgImage: svgStr }, function(){ console.log('Done') }); }); }En Django termino con la imagen svg como una cadena usando la siguiente función:
def uploadSVG(request): svgImg = request.POST.get('svgImage') return HttpResponse('')La cadena que obtengo se ve así:
<svg xmlns="http://www.w3.org/2000/svg" id="SVG" width="460" height="300" style="border:2px solid #000000"><rect x="150" y="70" width="160" height="130" fill="#292b2c"/></svg>¿Cómo puedo convertir esta cadena svg en un archivo svg?
La solucion es:
with open("svgTest.svg", "w") as svg_file: svg_file.write(svgImg)