这是一个有点老的问题,但我认为很多人都试图找到一些解决方案。这是一个。
我使用NPAPI FILE IO扩展创建了这种解决方案。已经编译了扩展 DLL / SO,因此如果您不想重新编译,例如添加新方法,则无需重新编译。您可以使用该库并开发 Firefox、chrome 的扩展,也许还可以与 IE 的 AtiveX 组件一起开发。这是我为 Chrome 执行此操作的方法。
1)下载svn repo。
2) 对于较新的 Chrome 版本,编辑manifest.json
位于test\extension
-folder 下的 -file。下面是我的 manifest.json 文件
{
"manifest_version": 2,
"name": "npapi-file-io-test",
"description": "NPAPI demo",
"version": "1.0",
"description": "Test extension for npapi-file-io project",
"background": {
"page": "background.html"
},
"plugins": [{"path": "npapi-file-io-32.dll", "public": true},{"path": "npapi-file-io-32.so", "public": true},{"path": "npapi-file-io-64.so", "public": true}]
}
3)将扩展安装到chrome中。
4)在页面中使用扩展名。下面是一个列出 /tmp 文件夹中文件的示例
<!DOCTYPE XHTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>NPAPI File IO test</title>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script>
$(document).ready(function() {
var fs = $('#fs')[0];
var dir = "/tmp";
var files = fs.listFiles(dir);
for (var f in files) {
if (files[f].type == "file") {
$('#filelist').append('<a href="file:///'+dir+"/"+files[f].name+'">'+files[f].name+'</a><br/>');
}
}
});
</script>
</head>
<body>
<embed type="application/x-npapi-file-io" id="fs">
<div id="filelist"></div>
</body>
</html>