我打算在我的本地创建一个应用程序。我需要一个 javascript 代码来呈现我使用 html 文件上传输入框从我的系统中选择的任何文件的内容。参考以下链接,但 http://www.alecjacobson.com/weblog/?p=1645代码与其他浏览器不兼容,
提前致谢
我打算在我的本地创建一个应用程序。我需要一个 javascript 代码来呈现我使用 html 文件上传输入框从我的系统中选择的任何文件的内容。参考以下链接,但 http://www.alecjacobson.com/weblog/?p=1645代码与其他浏览器不兼容,
提前致谢
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..."
}
}
我们正在开发各种基于 Web 的 GUI 编辑器。这个问题已经困扰很久了。
据我所知,您提到的网站中的方法是唯一的方法。我们正在使用 HTML5 文件系统。
在此之前,我们考虑过使用各种 Flash 模块、本地 Web 服务器、保管箱......