2016-11-11 6 views
0

私はキャンバスを持っており、キャンバスをローカルディスクに保存する必要があります。 JavascriptではAFAIKのディスクへの書き込みができません。したがって、私はキャンバスをサーバーに保存する方法を知っており、ここで説明するように自動的にダウンロードを開始します: How to Automatically Start a Download in PHP? この手順ではより簡単な解決策がありますか?php/javascriptファイルとして保存キャンバス

答えて

1

はい、クライアント側でイメージダウンロードを作成できます。ブラウザは、クライアントのファイルシステムとの対話を処理します。プロセスを簡単にするdownload.jsというライブラリがあります。 SVGイメージからの迅速な対応のための

function getSVGDataURL(svg){ 
    return "data:image/svg+xml;utf8,"+svg.outerHTML; 
} 

var svg = document.getElementById('svg'); 
var dataurl = getSVGDataURL(svg); 
+0

感謝をdataURIを取得する方法

var data = canvas.toDataURL(); var fileName = "myCoolPicture.png"; var strMimeType = 'image/png'; download(data, fileName, strMimeType); 


。それは本当に素晴らしいだろう!ただし、ユーザーは場所とファイル名を入力する必要があります。これはどうすればできますか? – Sempervivum

+0

@Sempervivum - PHPと同じように動作します。ブラウザにファイルをディスクに保存するように指示するヘッダーを送信するだけで、ブラウザはほとんどのシステムでユーザーがファイル名を変更できる場所を選択するようにユーザーに求めます。あるいは、JSでユーザーからファイル名を取得し、それをファンクションに渡すだけでもかまいません。 –

+0

それは本当に素晴らしいです。しかし、その間に私のイメージはキャンバスではなく、SVG(ハイチャートグラフ)であることが分かりました。 toDataURLはSVGでも使えますか? – Sempervivum

関連する問題