ファイルを読み込むC言語のプログラムをemscriptenでjavascriptに変換して

ブラウザからローカルファイルを、このスクリプトに読み込ませて、処理を実行する。
この具体例を示してください。

外部ファイル読み込みを行うサンプルソースはあるのですが、
ローカルファイルを読ませる例はないようなのですが

回答の条件
  • URL必須
  • 1人5回まで
  • 登録:
  • 終了:2013/05/03 16:14:56
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:ukyoweb No.1

回答回数1ベストアンサー獲得回数1

ポイント170pt

パスを指定したデータ読み込みに関しては以下URLが参考になります。
http://mozakai.blogspot.jp/2012/03/howto-port-cc-library-to-javascript.html

もしも、C側のプログラムが標準入力からファイルを読み込むように作ってある場合以下を。
https://github.com/kripken/lzma.js

で、ローカルファイルを読み込むにはFileReaderを使うとよいかと思います。ファイルはinput要素やドラッグ&ドロップで取得できます。

var reader = new FileReader;
reader.readAsArrayBuffer(file);
reader.onload = function() {
fnExportedWithEmscripten(new Uint8Array(reader.result));
};

他13件のコメントを見る
id:ukyoweb

終了しちゃいました?
outputの方は現在のemscriptenだとnullの部分を空配列にすると正しく実行できるようです。
それと、htmlの方もfileioに渡す引数をnew Uint8Array(reader.result)にしてあげないとダメでしたね。

サンプルのほうはgithubにまとめましたのでそちらで。
https://github.com/ukyo/emscripten-fileio

2013/05/03 17:30:49
id:TAK_TAK

なぜ、出来ないのか、
実行するために必要な事が何であるのか洗い出せました。
ありがとうございます。

2013/05/04 16:53:41

この質問への反応(ブックマークコメント)

トラックバック

  • ブラウザだけでmidiファイルを楽譜に変換 こちらの質問で、どうにかそれが実行出来るようになりました。 http://q.hatena.ne.jp/1367064416 chromeでならば、ブラウザからmidiファイルをabc棋譜に変換
  • Emscriptenでファイル入出力 http://mozakai.blogspot.jp/2012/03/howto-port-cc-library-to-javascript.htmlhttp://q.hatena.ne.jp/1367064416http://qiita.com/kjunichi/items/47715431c1228bfdda90http://qiita.com/sassy_watson/items/3ec69b19a22a457362a9http
「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません