我正在从文件中读取多个SVG图像,然后将它们同时保存在计算机中。 为了简化,我们假设它只是一个下垂,我想下载它。 我读了很多问题,但我遇到了保存问题。
function ExtractFileData(file) {
var reader = new FileReader();
reader.readAsText(file);
reader.onload = function(event){
var csv = event.target.result;
var data = $.csv.toArrays(csv);
var html = '';
for(var row in data) {
for(var item in data[row]) {
html += '<svg width="100" height="100">\r\n';
switch (data[row][item])
{
case "circle":
html += '<circle cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="red" download="expenses.svg" />\r\n ';
break;
} //end switch
html += '</svg> \r\n';
var svg = document.getElementsByTagName("svg")[0];
// Extract the data as SVG text string
var svg_xml = (new XMLSerializer).serializeToString(svg);
// Submit the <FORM> to the server.
// The result will be an attachment file to download.
var form = document.getElementById("svgform");
form['output_format'].value = "svg";
form['data'].value = svg_xml ;
form.submit();
} //end for
// html += '</svg> \r\n';
html += '<br>';
html += '<br>';
html += '<br>';
html += '<br>';
}//end for
$('#contents').html(html);
然后在身体部分我创建表单,以便我可以将我的数据发送到服务器并在系统中下载..但没有任何工作..
<form id="svgform" method="post" action="download.pl">
<input type="hidden" id="output_format" name="output_format" value="">
<input type="hidden" id="data" name="data" value="">
</form>
以下是隐藏表单中使用的download.pl的链接:download.pl (download.pl此代码不是我的)