Web アプリケーションでプレーンテキスト ファイルのインポート スクリプトを設定しています。
私のスクリプトは次のとおりです。
function dataImport(files) {
confirm("Are you sure you want to import the selected file? This will overwrite any data that is currently saved in the application workspace.");
for (i = 0; i < files.length; i++) {
file = files[i]
console.log(file)
var reader = new FileReader()
ret = []
reader.onload = function(e) {
window.localStorage.setItem("ApplicationData", e.target.result);
}
reader.onerror = function(stuff) {
console.log("error", stuff)
console.log (stuff.getMessage())
}
reader.readAsText(file)
}
}
それは本質的に、この質問に提起されたものを修正したものです。
ただし、現時点では、ユーザーは技術的に任意のファイルのインポートを試みることができます。プレーンテキスト ファイル用に設計されているため、別の種類のファイルをインポートすると問題が発生する可能性があります。
コンソールで、ブラウザがインポートされているファイルのコンテンツ タイプを検出していることに気付きました。これが例です。
fileName: "ideas.txt"
fileSize: 377
name: "ideas.txt"
size: 377
type: "text/plain"
webkitRelativePath: ""
では、スクリプトがファイルの content-type を検出し、指定された適切な content-type の 1 つでない場合、スクリプトにインポートを拒否させる引数を設定することは可能でしょうか?
アドバイスをよろしくお願いします。