2

ローカルでアプリケーションを作成する予定です。HTMLファイルアップロード入力ボックスを使用してシステムから選択しているファイルからコンテンツをレンダリングするJavaScriptコードが必要です。以下のリンクを参照しましたが、 http://www.alecjacobson.com/weblog/? p=1645ではコードが他のブラウザと互換性がありません。

前もって感謝します

4

2 に答える 2

1

セキュリティ上の理由から、ブラウザからファイルを開くことはできません。実際にできることは、それをサーバーにアップロードしてからページに書き戻すことです。ファイルをアップロードするには、uploadify または jquery upload をお勧めします。

どういたしまして。

クロスブラウジングのサポートを気にしない場合:

<input id="file" type="file" multiple="" onchange="startRead()">

<pre><code id="output"></code></pre>


function startRead() {
    //obtain input element through DOM  
    var file = document.getElementById('file').files[0];
    if (file) {
        getAsText(file);
    }
}
function getAsText(readFile) {
    var reader;
    try {
        reader = new FileReader();
    } catch (e) {
        document.getElementById('output').innerHTML = "Error: seems File API is not supported on your browser";
        return;
    }
    // Read file into memory as UTF-8      
    reader.readAsText(readFile, "UTF-8");
    // handle success and errors

    reader.onload = loaded;
    reader.onerror = errorHandler;
}

function loaded(evt) {
    // Obtain the read file data    
    var fileString = evt.target.result;
    document.getElementById('output').innerHTML = fileString;
}
function errorHandler(evt) {
    if (evt.target.error.code == evt.target.error.NOT_READABLE_ERR) {
        // The file could not be read
        document.getElementById('output').innerHTML = "Error reading file..."
    }
}
于 2012-10-31T11:41:24.443 に答える
0

私たちは、Web ベースの GUI エディターの種類を開発しています。この問題は長い間問題でした。

私が知っているように、あなたが言及したサイトの方法は唯一の方法です. HTML5ファイルシステムを使用しています。

これまでに、Flash モジュール、ローカル Web サーバー、Dropbox などの種類の使用を検討してきました。

于 2012-10-31T13:51:16.923 に答える