javascript不用activexobject能否读取文件内容?
to1楼&2楼:HTML5的FileReader难道不是么?难道底层也是activexobject?...
to 1楼&2楼:
HTML5的FileReader难道不是么?难道底层也是activexobject? 展开
HTML5的FileReader难道不是么?难道底层也是activexobject? 展开
3个回答
展开全部
不能。即使用那个东西,也很难兼容的。
一个浏览器能读取客户端本地文件内容,从安全考虑来看,就是非常可怕的一件事情。还好,没有实现。和这个功能带来的应用功能相比,安全更重要呢。
楼主可以放弃用js读取本地文件,改用flash吧。
flash我不懂,每次用上传的时候都是去搜的,可以在本地判断文件大小。我用的是jquery的uplod插件。可以参考。
HTML5呀,听说很强大,只看过两眼。它在鼠标事件中连本地黏贴板中的内容都可以读呢。不过实现html5的应用范围并不是很广,只有最新的桌面和手机浏览器才支持。
至于底层是不是activexobject实现,这就不能肯定了。可以肯定的是activexobject不是javascript和html的东西,怎么说呢,算是附加上的东西吧,就像flash一样。html将很多这些功能收进去了,比如媒体标签。
一个浏览器能读取客户端本地文件内容,从安全考虑来看,就是非常可怕的一件事情。还好,没有实现。和这个功能带来的应用功能相比,安全更重要呢。
楼主可以放弃用js读取本地文件,改用flash吧。
flash我不懂,每次用上传的时候都是去搜的,可以在本地判断文件大小。我用的是jquery的uplod插件。可以参考。
HTML5呀,听说很强大,只看过两眼。它在鼠标事件中连本地黏贴板中的内容都可以读呢。不过实现html5的应用范围并不是很广,只有最新的桌面和手机浏览器才支持。
至于底层是不是activexobject实现,这就不能肯定了。可以肯定的是activexobject不是javascript和html的东西,怎么说呢,算是附加上的东西吧,就像flash一样。html将很多这些功能收进去了,比如媒体标签。
展开全部
1答案是可以的。
2举例如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> New Document </title>
</head>
<script type="text/javascript">
function readFolder(){
var filePath = "d:\\test\\";
var fso = new ActiveXObject("Scripting.FileSystemObject"); //加载控件
var f = fso.GetFolder(filePath);
var underFiles = new Enumerator(f.files); //文件夹下文件
for (;!underFiles.atEnd();underFiles.moveNext()){
var fn = "" + underFiles.item();
//alert(fn);
var content = readFile(fn,fso);
alert(content);
}
}
function readFile(path,fso){
var f1 = fso.GetFile(path);
var fh = fso.OpenTextFile(f1, 1/*reading*/);
var content = '';
while ( !fh.AtEndOfStream ) {
content += fh.ReadLine();
}
fh.close()
return content;
}
function writeExcel(){
var ExcelApp = new ActiveXObject("Excel.Application");
var ExcelSheet = new ActiveXObject("Excel.Sheet");
ExcelSheet.Application.Visible = true;
ExcelSheet.ActiveSheet.Cells(1,1).Value = "This is column A, row 1";
ExcelSheet.SaveAs("d:\\TEST.XLS");
ExcelSheet.Application.Quit();
}
</script>
<body>
<input type="button" value="遍历文件夹" onclick="readFolder()">
<input type="button" value="写excel" onclick="writeExcel()">
</body>
</html>
2举例如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> New Document </title>
</head>
<script type="text/javascript">
function readFolder(){
var filePath = "d:\\test\\";
var fso = new ActiveXObject("Scripting.FileSystemObject"); //加载控件
var f = fso.GetFolder(filePath);
var underFiles = new Enumerator(f.files); //文件夹下文件
for (;!underFiles.atEnd();underFiles.moveNext()){
var fn = "" + underFiles.item();
//alert(fn);
var content = readFile(fn,fso);
alert(content);
}
}
function readFile(path,fso){
var f1 = fso.GetFile(path);
var fh = fso.OpenTextFile(f1, 1/*reading*/);
var content = '';
while ( !fh.AtEndOfStream ) {
content += fh.ReadLine();
}
fh.close()
return content;
}
function writeExcel(){
var ExcelApp = new ActiveXObject("Excel.Application");
var ExcelSheet = new ActiveXObject("Excel.Sheet");
ExcelSheet.Application.Visible = true;
ExcelSheet.ActiveSheet.Cells(1,1).Value = "This is column A, row 1";
ExcelSheet.SaveAs("d:\\TEST.XLS");
ExcelSheet.Application.Quit();
}
</script>
<body>
<input type="button" value="遍历文件夹" onclick="readFolder()">
<input type="button" value="写excel" onclick="writeExcel()">
</body>
</html>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
no! javascript语言本身定位就不是用来做这些事情的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询