<!DOCTYPE html> <html> <head> <meta http-equiv="content-language" content="ja"> <meta charset="UTF-8"> <title>ダウンロード(text)</title> <meta name="viewport" content="width=device-width,initial-scale=1"> </head> <body> <textarea id="text" rows="4" cols="40"> テキストデータのダウンロードです。 ここで改行します。</textarea><br><br> <a id="download" download="text-file.txt">url指定のtextダウンロード</a><br><br> <button onclick="download()">ボタン指定のtextダウンロード</button> <script> text = document.getElementById("text").value ; blob = new Blob([text], {type: 'text/plain'}); link = document.getElementById('download'); link.href = window.URL.createObjectURL(blob); function download() { link = document.createElement('a'); link.href = URL.createObjectURL(new Blob([text], {type: 'text/plain'}) ) ; link.download = "text-file.txt" ; link.click(); } </script> </body> </html>
<script src="encoding.min.js"></script>
ブラウザ上のテキストデータを名前を付けて保存できる FileSaver.js を使って、テーブルのデータを Excel で開ける事を想定した CSV にして PC に保存<!DOCTYPE html> <html> <head> <meta http-equiv="content-language" content="ja"> <meta charset="UTF-8"> <title>ダウンロード(text)</title> <meta name="viewport" content="width=device-width,initial-scale=1"> <script src="https://winofsql.jp/js/encoding.js"></script> </head> <body> <textarea id="text" rows="5" cols="30"> csvデータのダウンロードです。 行列データ11,行列データ12 行列データ21,行列データ22</textarea><br><br> <button onclick="download()">csvデータのダウンロード</button> <script> function download() { text = document.getElementById("text").value ; text = convert_sjis( text ) ; //sjisコードに変換 blob = new Blob([text], {type: 'text/plain'}); link = document.createElement('a'); link.href = URL.createObjectURL( blob ) ; link.download = "csv-file.csv" ; link.click(); } function convert_sjis( str ) { str = str.replace(/\n/g, '\r\n'); // lf のみを crlf に変換 var array = [] ; for( i = 0 ; i < str.length ; i++ ) { array.push(str.charCodeAt(i)) ; } var sjis_array = Encoding.convert(array, "SJIS", "UNICODE"); return new Uint8Array(sjis_array); } </script> </body> </html>
<!DOCTYPE html> <html> <head> <meta http-equiv="content-language" content="ja"> <meta charset="UTF-8"> <title>ダウンロード(canvas)</title> <meta name="viewport" content="width=device-width,initial-scale=1"> </head> <body> <canvas id="canvas" width="300" height="200"></canvas><br><br> <button onclick="download()">canvas画像のダウンロード(toBlob)</button><br><br> <button onclick="download2()">canvas画像のダウンロード(toDataURL)</button> <script> ctx = document.getElementById('canvas').getContext('2d'); ctx.fillStyle = "#0000ff" ; ctx.fillRect(0,0,300,200) ; ctx.fillStyle = "#ffffff" ; ctx.fillRect(50,50,200,100) ; function download() { //toBlob()でダウンロード canvas.toBlob(function(blob) { link = document.createElement('a'); link.href = URL.createObjectURL(blob); link.download = "canvas-file.png" ; link.click(); },"image/png") ; } function download2() { //toDataURL()でダウンロード a = document.createElement("a"); a.href = canvas.toDataURL("image/jpeg", 0.75); // PNGなら"image/png" a.download = "image.jpg"; a.click(); } // 補足:MIMEタイプの指定 // pngの場合は("image/png") // jpgの場合は("image/jpeg",品質)で品質は0~1の指定 // 指定がないと("image/png")とみなされます。 </script> </body> </html>