ローカルのテキスト(shift-jis)ファイルを
html上で使用することがあったのでメモ
まずはファイル選択ができるHTMLを作成します。
html上で使用することがあったのでメモ
まずはファイル選択ができるHTMLを作成します。
<head>
</head>
<body>
<input id="file" type="file" value="ファイル選択" />
<div id ="finfo"></div>
<div id ="result"></div>
</body>
次にFileAPIを使います。対応しているブラウザじゃないと動きませんが
chrome、FireFoxあたりは動作確認しました
サンプルコードでは選択可能ファイルは1つだけです
shift-jis以外の場合は8行目の'Shift-Jis’を変更してください
デフォルトUTF-8です
ファイル選択ボタンからファイル選択するとすると 変数outputにファイル内容が格納されます
chrome、FireFoxあたりは動作確認しました
サンプルコードでは選択可能ファイルは1つだけです
shift-jis以外の場合は8行目の'Shift-Jis’を変更してください
デフォルトUTF-8です
ファイル選択ボタンからファイル選択するとすると 変数outputにファイル内容が格納されます
<script>
document.querySelector("#file").addEventListener('change', function(e) {
// File APIを利用できるかをチェック
if (window.File) {
var input = document.querySelector('#file').files[0];
var reader = new FileReader();
// ファイルの内容をテキストとして取得
reader.readAsText(input, 'Shift-Jis');
reader.addEventListener('load', function(e) {
var output = reader.result;
if (output === null){
output = "";
}
var header = "[FileName] :" + input.name;
header +="[size]" + input.size + "bytes";
document.querySelector("#finfo").innerHTML = header;
document.querySelector("#result").innerHTML = escbr(output);
}
}, true);
}
}, true);
//HTMLエスケープと改行
function escbr(str) {
return str
.replace(/&/g, '&')
.replace(/</g, "<")
.replace(/>/g, ">")
.replace(/"/g, '"')
.replace(/'/g, ''')
.replace(/\r?\n/g, "<br />");
}
</script>
SAMPLE
エンコード:
ここにファイルをドロップ
【結果】
0 件のコメント:
新しいコメントは書き込めません。