js能做一个选择本地文件夹目录单位东西吗,选好了文件之后返回文件路径来
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js能做一个选择本地文件夹目录单位东西吗,选好了文件之后返回文件路径来相关的知识,希望对你有一定的参考价值。
在Windows平台上, js可以调用很多Windows提供的ActivexObject,本文就使用js来实现文档处理, 和使用js编写ActiveX做一个简单介绍.复制代码 代码如下:
<!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;
参考技术A <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
js文件选择框,我选好文件后,取不到正确路径, alert(document.getElementById('filepath').value);
alert(document.getElementById('filepath').value);
取到的路径是C:\fakepath\文件名,不管怎么选文件都是这样的,怎么解决?
望大虾们看下
-----------------------------------------------------------------------解决方法》》》》
工具 -> Internet选项 -> 安全 -> 自定义级别 -> 找到“其他”中的“将本地文件上载至服务器时包含本地目录路径”,选中“启用”即可。
不过 感觉没有治本:如果别人用的电脑把IE里这项给禁用了,那不是在他的电脑上就没法运行哦??
希望各位给出办法解决,或者说应该怎么做可以避免出错,不管是提示还是其它什么办法的,谢谢!
你在js里得到就可以传回服务器了,那样用户的电脑文件目录就全部被你获得了,黑客也太容易当了。
你只要提交表单,在服务器端自然会得到文件名的。
php用 $_FILES
你print_r($_FILES);
就可以看到了追问
我java
追答类似
private void uploadFile(HttpServletRequest request, HttpServletResponse response)
try
DiskFileUpload fu = new DiskFileUpload();
// 设置最大文件尺寸,这里是4MB
fu.setSizeMax(-1);
// 设置缓冲区大小,这里是4kb
fu.setSizeThreshold(4096);
// 设置临时目录:
fu.setRepositoryPath(tempPath);
// 得到所有的文件:
List fileItems = fu.parseRequest(request);
Iterator i = fileItems.iterator();
// 依次处理每一个文件:
while (i.hasNext())
FileItem fi = (FileItem) i.next();
// 获得文件名,这个文件名包括路径:
String fileName = fi.getName();
String sep = System.getProperty("file.separator");
int index = fileName.lastIndexOf(sep);
if(index >-1)
fileName = fileName.substring(fileName.lastIndexOf(sep));
// 在这里可以记录用户和文件信息
// ...
// 写入文件,暂定文件名为a.txt,可以从fileName中提取文件名:
fi.write(new File(uploadPath + fileName));
response.setCharacterEncoding("UTF-8");
response.getWriter().println(fileName+"上传成功");
catch (Exception e)
// 可以跳转出错页面
e.printStackTrace();
<button onclick="alert(document.getElementById('filepath').value);">查看路径</button>
每次重选文件后,点击按钮查看。应该是没有问题啊
你是怎么操作的?追问
和你一样 ie浏览器,换个机器也一样,是不是某些JS限制的?还是浏览器的问题?
追答你重置一下ie浏览器的设置,再试试。我实验是ok的
参考技术B 没问题啊,只是一个定义而已嘛,但是你运行就会报错,找不到id为WindowsMediaPlayer1的节点参考技术C 有可能是浏览器的原因
以上是关于js能做一个选择本地文件夹目录单位东西吗,选好了文件之后返回文件路径来的主要内容,如果未能解决你的问题,请参考以下文章
Python使用matplotlib可视化绘图时你可用的颜色有哪些?把色彩可视化出来自己选好了