2

我打算在我的本地创建一个应用程序。我需要一个 javascript 代码来呈现我使用 html 文件上传输入框从我的系统中选择的任何文件的内容。参考以下链接,但 http://www.alecjacobson.com/weblog/?p=1645代码与其他浏览器不兼容,

提前致谢

4

2 回答 2

1

For security reasons you can't open a file from the browser. What you can actually do is upload it to the server and then write it back to the page. To upload the file I suggest you uploadify or jquery upload.

You are welcome.

If you don't care about the cross-browsing support then:

<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 服务器、保管箱......

于 2012-10-31T13:51:16.923 回答