«

»

7月 16

ChromeでFile APIを使うときに気をつけたいこと

ハマったのでまたメモ。Google Chromeでは拡張とかでなにかとFile APIを使う事が多いわけですが、あることにはまってまったく動いてくれませんでした。

function getFileCotnent(fileElem){ //fileElemにはinput type="file"の要素が入る
  var reader = new FileReader() ;
  reader.onload = function(){
    //中略
  }
  reader.readAsText(fileElem.value , "utf-8") ;
}

簡単にいうと、これが動作しないと。(※Firefoxでは動作しますが)

さて悩みに悩んだ結果、fileElem.valueにはC:\fakepath\***.txtみたいな感じにフェイクのパスが入ってると。これを解決するのには、

function getFileCotnent(fileElem){ //fileElemにはinput type="file"の要素が入る
  var reader = new FileReader() ;
  reader.onload = function(){
    //中略
  }
  reader.readAsText(fileElem.files[0].name , "utf-8") ;
}

のようにしないとダメだ、ということです。

コメントを残す

メールアドレスが公開されることはありません。