js实现选择文件路径(限IE)

合集下载

js读取本地文件内容

js读取本地文件内容

js读取本地⽂件内容<!doctype html><html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <div> <input type="file" id="files" style="display: none" onchange="fileImport();"> <input type="button" id="fileImport" value="导⼊"> <div id="resultDiv"></div> </div> <script src="./jquery-1.12.2.js"></script> <script> //点击导⼊按钮,使files触发点击事件,然后完成读取⽂件的操作 $("#fileImport").click(function () { $("#files").click(); }) function fileImport() { //获取读取我⽂件的File对象 var selectedFile = document.getElementById('files').files[0]; var name = ;//读取选中⽂件的⽂件名 var size = selectedFile.size;//读取选中⽂件的⼤⼩ console.log("⽂件名:"+name+"⼤⼩:"+size); var reader = new FileReader();//这是核⼼,读取操作就是由它完成. reader.readAsText(selectedFile);//读取⽂件的内容,也可以读取⽂件的URL reader.onload = function () { //当读取完成后回调这个函数,然后此时⽂件的内容存储到了result中,直接操作即可 console.log(this.result); $('#resultDiv').html(this.result); } } </script> </body></html>。

js下载文件的实现方法一

js下载文件的实现方法一

js下载文件的实现方法一f8bjs下载文件的实现方法及注意js中实现文件下载(一)最简单的方式是在页上做超级链接如:&lt;a href=&quot;music/abc.m3&quot;&gt;下载&lt;/a&gt;。

但是这样服务器上的目录资源会直接暴露给最终用户会给站带来一些不安全的因素。

因此可以采用其它方式实现下载可以采用:1、RequestDisatcher的方式进行;2、采用文件流输出的方式下载。

(推荐)1、采用RequestDisatcher的方式进行Js代码&lt;%resonse.setContentTye(&quot;alication/x-download&quot;);//设置为下载alication/x-downloadString filedownload = &quot;/要下载的文件名&quot;;//即将下载的文件的相对径String filedislay = &quot;最终要显示给用户的保存文件名&quot;;//下载文件时显示的文件保存名称String filenamedislay = URLEncoder.encode(filedislay,&quot;UTF-8&quot;); resonse.addHeader(&quot;Content-Disosition&quot;,&quot;attachment;filena me=&quot; + filedislay);try{RequestDisatcher dis = alication.getRequestDisatcher(filedownload);if(dis!= null){dis.forward(request,resonse);}resonse.flushBuffer();}catch(Excetion e){e.rintStackTrace();}finally{}%&gt;&lt;%resonse.setContentTye(&quot;alication/x-download&quot;);//设置为下载alication/x-downloadString filedownload = &quot;/要下载的文件名&quot;;//即将下载的文件的相对径String filedislay = &quot;最终要显示给用户的保存文件名&quot;;//下载文件时显示的文件保存名称String filenamedislay = URLEncoder.encode(filedislay,&quot;UTF-8&quot;); resonse.addHeader(&quot;Content-Disosition&quot;,&quot;attachment;filena me=&quot; + filedislay);try{RequestDisatcher dis = alication.getRequestDisatcher(filedownload);if(dis!= null){dis.forward(request,resonse);}resonse.flushBuffer();}catch(Excetion e){e.rintStackTrace();}finally{}%&gt;2、采用文件流输出的方式下载Js代码&lt;%age language=&quot;java&quot; contentTye=&quot;alication/x-msdownload&quot;ageEncoding=&quot;gb2312&quot;%&gt;&lt;%//关于文件下载时采用文件流输出的方式处理://加上resonse.reset()并且所有的%&gt;后面不要换行包括最后一个;resonse.reset();//可以加也可以不加resonse.setContentTye(&quot;alication/x-download&quot;);//alication.getRealath(&quot;/main/mvlayer/CaSetu.msi&quot;);获取的物理径String filedownload = &quot;想办法找到要提下载的文件的物理径+文件名&quot;;String filedislay = &quot;给用户提的下载文件名&quot;;String filedislay = URLEncoder.encode(filedislay,&quot;UTF-8&quot;); resonse.addHeader(&quot;Content-Disosition&quot;,&quot;attachment;filena me=&quot; + filedislay);java.io.OututStream out =null;java.io.FileInutStream in = null;try{out = resonse.getOututStream();in = new FileInutStream(filenamedownload);byte[] b = new byte[1024];int i = 0;while((i = in.read(b)) &gt; 0)out.write(b, 0, i);}//out.flush();//要加以下两句话否则会报错//ng.IllegalStateExcetion: getOututStream() has already been called for //this resonseout.clear();out = hBody();}catch(Excetion e){System.out.rintln(&quot;Error!&quot;);e.rintStackTrace();}finally{if(in != null){in.close();in = null;//这里不能关闭//if(out != null)//{//out.close();//out = null;//}}%&gt;&lt;%age language=&quot;java&quot; contentTye=&quot;alication/x-msdownload&quot;ageEncoding=&quot;gb2312&quot;%&gt;&lt;%//关于文件下载时采用文件流输出的方式处理://加上resonse.reset()并且所有的%&gt;后面不要换行包括最后一个;resonse.reset();//可以加也可以不加resonse.setContentTye(&quot;alication/x-download&quot;);//alication.getRealath(&quot;/main/mvlayer/CaSetu.msi&quot;);获取的物理径String filedownload = &quot;想办法找到要提下载的文件的物理径+文件名&quot;;String fifc1ledislay = &quot;给用户提的下载文件名&quot;;String filedislay = URLEncoder.encode(filedislay,&quot;UTF-8&quot;); resonse.addHeader(&quot;Content-Disosition&quot;,&quot;attachment;filena me=&quot; + filedislay);java.io.OututStream out = null;java.io.FileInutStream in = null;try{out = resonse.getOututStream();in = new FileInutStream(filenamedownload);byte[] b = new byte[1024];int i = 0;while((i = in.read(b)) &gt; 0){out.write(b, 0, i);}//out.flush();//要加以下两句话否则会报错//ng.IllegalStateExcetion: getOututStream() has already been called for //this resonseout.clear();out = hBody();}catch(Excetion e){System.out.rintln(&quot;Error!&quot;);e.rintStackTrace();}finally{if(in != null){in.close();in = null;}//这里不能关闭//if(out != null)//{//out.close();//out = null;//}}%&gt;对于第二种方法我认为应该是比较常用的。

js file路径正则表达式

js file路径正则表达式

js file路径正则表达式JS文件路径正则表达式是用来匹配JS文件路径的一种规则。

在开发中,我们经常需要根据不同的需求来获取JS文件的路径,而正则表达式可以帮助我们快速准确地实现这个目标。

让我们来了解一下JS文件路径的一般格式。

在Web开发中,JS文件通常位于项目的某个目录下,可以是相对路径或绝对路径。

相对路径是相对于当前HTML文件或JS文件的路径,而绝对路径是从根目录开始的完整路径。

在正则表达式中,我们可以使用特定的符号和模式来匹配JS文件路径。

下面是一些常见的正则表达式符号和模式:1. 首先,我们可以使用斜杠(/)来表示目录分隔符。

例如,/js/表示项目的js目录。

2. 接下来,我们可以使用点(.)来匹配当前目录。

例如,./js/表示当前目录下的js目录。

3. 然后,我们可以使用两个点(..)来匹配上级目录。

例如,../js/表示上级目录下的js目录。

4. 此外,我们还可以使用星号(*)来匹配任意字符。

例如,/js/*.js表示js目录下的任意.js文件。

5. 最后,我们可以使用问号(?)来表示可选项。

例如,/js/main.js?version=1.0表示js目录下的main.js文件,并且可以带有version参数。

根据上述规则,我们可以构建出一些常见的JS文件路径正则表达式。

例如:1. 匹配相对路径下的JS文件:./js/.*\.js2. 匹配绝对路径下的JS文件:/.*\.js3. 匹配上级目录下的JS文件:../js/.*\.js4. 匹配带有参数的JS文件:/.*\.js\?.*当然,以上只是一些简单的例子,实际应用中可能还会有更复杂的情况。

在使用正则表达式时,我们需要根据具体的项目需求来进行调整和扩展。

需要注意的是,在正则表达式中,点(.)和星号(*)是特殊字符,需要使用反斜杠(\)进行转义。

另外,正则表达式还有一些其他的特殊符号和模式,可以根据实际情况进行学习和使用。

总结起来,JS文件路径正则表达式是一种用来匹配JS文件路径的规则。

JS读取创建本地文件及目录文件夹的方法

JS读取创建本地文件及目录文件夹的方法

注:以下操作只在IE下有效!Javascript是网页制作中离不开的脚本语言,依靠它,一个网页的内容才生动活泼、富有朝气。

但也许你还没有发现并应用它的一些更高级的功能吧?比如,对文件和文件夹进行读、写和删除,就象在VB、VC 等高级语言中经常做的工作一样。

怎么样,你是否需要了解这方面的知识?那就请跟我来,本文将详细描述如何使用Javascript语言进行文件操作。

一、功能实现核心:FileSystemObject 对象其实,要在Javascript中实现文件操作功能,主要就是依靠FileSystemobject对象。

在详细介绍FileSystemobject对象的各个属性和方法的使用细节前,先来看看这个对象包括哪些相关对象和集合:二、FileSystemObject编程三部曲使用FileSystemObject 对象进行编程很简单,一般要经过如下的步骤:创建FileSystemObject对象、应用相关方法、访问对象相关属性。

(一)创建FileSystemObject对象创建FileSystemObject对象的代码只要1行:1var fso = new ActiveXObject("Scripting.FileSystemObject");上述代码执行后,fso就成为一个FileSystemObject对象实例。

(二)应用相关方法创建对象实例后,就可以使用对象的相关方法了。

比如,使用CreateTextFile方法创建一个文本文件:1var fso = new ActiveXObject("Scripting.FileSystemObject");2var f1 = fso.createtextfile("E:\\myjstest.txt",true");(三)访问对象相关属性要访问对象的相关属性,首先要建立指向对象的句柄,这就要通过get系列方法实现:GetDrive负责获取驱动器信息,GetFolder负责获取文件夹信息,GetFile负责获取文件信息。

JS 路径

JS 路径

1 pathname 属性可设置或返回某个区域中 link-URL 的路径名。

语法areaObject.pathname=pathnamee实例下面的例子可返回 "Venus" 区域中 link-URL 的路径名:<html><body><img src="planets.gif"width="145" height="126"usemap="#planetmap" /><map name="planetmap"><area id="venus" shape="circle"coords="124,58,8"alt="Venus"href="venus.htm" /></map><p>Venus' pathname:<script type="text/javascript">x=document.getElementById('venus');document.write(x.pathname);</script></p></body></html>2 pathname 属性是一个可读可写的字符串,可设置或返回当前 URL 的路径部分。

语法location.pathname=path实例假设当前的 URL 是: :1234/test/test.htm#part2:<html><body><script type="text/javascript">document.write(location.pathname);</script></body></html>输出:/test/test.htm3 pixelDepth 属性返回显示屏幕的颜色分辨率(比特每像素)。

js取路径的方法

js取路径的方法

js取路径的方法在JavaScript中,您可以使用以下方法来获取路径:1. 使用window.location对象您可以使用window.location对象来获取当前文档的路径信息。

例如,要获取完整的URL路径,可以使用`window.location.href`。

如果只想获取路径部分而不包括协议和域名,可以使用`window.location.pathname`。

示例:javascriptconsole.log(window.location.href); // 输出完整的URL路径console.log(window.location.pathname); // 输出路径部分2. 使用document对象您还可以使用document对象来获取当前文档的路径信息。

通过document对象的属性可以获得URL的各个部分。

示例:javascriptconsole.log(document.URL); // 输出完整的URL路径console.log(document.location.href); // 输出完整的URL路径(与document.URL相同)console.log(document.location.pathname); // 输出路径部分3. 使用location对象JavaScript还提供了一个location对象,它包含了有关当前页面的URL信息。

通过location对象,您可以获取路径、搜索参数、哈希等信息。

示例:javascriptconsole.log(location.href); // 输出完整的URL路径console.log(location.pathname); // 输出路径部分这些是在JavaScript中获取路径信息的常用方法。

根据您的具体需求,选择适合的方法来获取路径。

js选择本地文件夹路径

js选择本地文件夹路径

js选择本地⽂件夹路径问题:视频抓图、录像等功能,需要配置本地保存时的⽂件夹路径,仅IE⽤效果如图:废话不多看代码:<el-form-item label="视频抓图保存路径" prop="snapPath"><el-input v-model="form.snapPath"><i slot="suffix"class="el-input__icon el-icon-folder"style="cursor: pointer;"@click="handleGetPath('snapPath')"></i></el-input></el-form-item>handleGetPath (path) {/** 该⽅法只⽀持IE.* 语法:strDir=Shell.BrowseForFolder(Hwnd,Title,Options,[RootFolder])* 参数:Hwnd:包含对话框的窗体句柄(handle),⼀般设置为0* Title:将在对话框中显⽰的说明,为字符串* Options:使⽤对话框的特殊⽅式,为长整数,⼀般设置为0* RootFolder:(可选的),⽤来设置浏览的最顶层⽂件夹,缺省时为“桌⾯”,可以将其设置为⼀个路径或“特殊⽂件夹常数” * */try {let filePath;let objSrc = new ActiveXObject("Shell.Application").BrowseForFolder(0, '请选择保存路径', 0, '');if (objSrc != null) {filePath = objSrc.Items().Item().Path;if (filePath.charAt(0) == ':') {alert('请选择⽂件夹.');return false;}this.form[path] = filePath;}} catch (e) {alert(e + '请设置IE,Internet选项-安全-⾃定义级别-将ActiveX控件和插件前3个选项设置为启⽤,然后再尝试。

js获取文件的绝对路径

js获取文件的绝对路径
15 if (isIE6) {path = filepath; }
但是在火狐下还是没办法获取文件路径,看到网上有人说用getAsDataURL()方法可以获取路径。我测试了一下,用这个方法确实是可以获得路径,但是些路径是被加密过的。于是继续寻找其他方法。。。
火狐下获取上传文件路径的方法,需要先修改设置。在地址栏输入about:config,然后修改signed.applets.codebase_principal_support的键值,将值修改为true。然后再Biblioteka 用如下代码,就可以获得文件路径。
js获取fileupload绝对路径
作者:James-ping 来源:博客园 发布时间:2011-04-27 19:18 阅读:1533 次 原文链接 [收藏]
今天做一个关于数据库中数据和EXCEL表对比的DEMO,一开始做的是将EXCEL表上传到服务器之后再对比,可是一旦文件多起来对服务器也是一种考验,于是就只在本地对比,然而在本地对比的时候要获取本地路径,一开始以为 fileupload1.postfile.filename可以获取本地路径,可是这个获取的还是文件名称,fileupload中没有获取当前值得属性,于是就想着用javascript去获取,用document.getElementById("fileupload1").value 用debugger调试的时候获取的居然是一个不存在的地址,郁闷了半天就是搞不清楚是什么问题,于是去网上找了一下,才发现,这种方式只在IE6下面有用,因为高版本的浏览器设定为了安全起见,已经不会显示文件路径,于是用下面方法就可以了,
1 //判断浏览器类型
2 var isIE = (document.all) ? true : false;

js获取上传文件的绝对路径实现方法

js获取上传文件的绝对路径实现方法

在JavaScript中,由于安全性的限制,无法直接获取上传文件的绝对路径。

浏览器会将上传的文件路径进行处理,以保护用户的隐私和安全。

但是,你可以通过使用File API来获取上传文件的相关信息,如文件名、大小、类型等。

下面是一个示例代码:
```javascript
// 获取文件上传的input元素
var fileInput = document.getElementById('fileInput');
// 监听文件选择事件
fileInput.addEventListener('change', function(e) {
// 获取选中的文件
var file = e.target.files[0];
// 输出文件名、大小和类型
console.log('文件名:', );
console.log('文件大小:', file.size);
console.log('文件类型:', file.type);
});
```
在上面的示例中,我们通过监听文件选择事件,获取到用户选择的文件。

然后,可以通过``、`file.size`和`file.type`等属性来获取文件的相关信息。

需要注意的是,这种方法只能获取到文件的相关信息,而无法获取到文件的绝对路径。

如果你需要对上传的文件进行处理,可以使用File API提供的方法来实现,如读取文件内容、上传文件等。

在index.js中自动生成路径的配置方法

在index.js中自动生成路径的配置方法

在index.js中自动生成路径的配置方法-概述说明以及解释1.引言1.1 概述在开发项目中,路径配置是一个非常重要的环节。

路径配置的目的是为了让程序能够准确地找到需要加载和执行的文件或模块。

传统的方法是手动配置路径,即在代码中硬编码路径信息。

然而,手动配置路径存在一些问题,例如不易维护、容易出错等。

为了解决手动配置路径的问题,我们可以利用index.js文件来自动生成路径配置,从而提高开发效率。

通过自动生成路径配置,我们可以简化代码编写过程,减少错误发生的可能性,同时也能更好地适应项目的变化和扩展。

本文将介绍路径配置的重要性,并对传统手动配置路径的问题进行分析。

然后,我们将重点介绍如何实现自动生成路径配置的方法,以及自动生成路径配置有哪些优势。

最后,我们将总结自动生成路径配置的好处,探讨其对项目开发的推动作用,并展望其未来的发展方向。

通过阅读本文,读者将了解到自动生成路径配置的重要性和优势,了解如何使用index.js文件来实现自动生成路径配置,并能够在项目开发中更加高效地进行路径操作。

本文旨在帮助开发者更好地理解和应用自动生成路径配置的方法,提升开发效率和代码质量。

1.2 文章结构本文将以探讨在index.js中自动生成路径的配置方法为主题,具体内容按以下顺序进行展开:1. 引言:在引言部分,将对路径配置的重要性进行介绍,并简要说明传统手动配置路径的问题。

2. 正文:正文部分将分为以下几个小节:2.1 路径配置的重要性:这一小节将从项目开发的角度阐述路径配置的重要性,包括对于模块引入、文件定位和资源管理的作用。

2.2 传统手动配置路径的问题:本小节将详细介绍传统手动配置路径所面临的问题,如路径冗余、容易出错等,以及其带来的维护成本和开发效率低下的问题。

2.3 自动生成路径配置的优势:这一小节将探讨采用自动生成路径配置的方法所带来的优势,如减少手动配置的工作量、降低出错率、提高开发效率等。

2.4 实现自动生成路径配置的方法:本小节将介绍实现自动生成路径配置的具体方法,通过分析常用的构建工具、模板语言和自动化流程,提供可行的解决方案。

通过JS获取用户本地图片路径并显示的代码

通过JS获取用户本地图片路径并显示的代码
这篇文章主要介绍了js实现的简单图片浮动效果以完整实例形式分析了javascript实现图片定时漂浮移动功能的方法涉及javascript定时函数与数值动态运算相关技巧需要的朋友可以参考下
通过 JS获取用户本地图片路径并显示的代码
复制代码 代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1transitional.dtd"> <html xmlns="/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>get file input full path</title> <script language='javascript'> function getFullPath(obj) { if(obj) { //ie if (erAgent.indexOf("MSIE")>=1) { obj.select(); return document.selection.createRange().text; } //firefox else if(erAgent.indexOf("Firefox")>=1) { if(obj.files) { return obj.files.item(0).getAsDataURL(); } return obj.value; } return obj.value; } } </script> </head> <body> <input type="file" onchange="document.getElementById('img').src=getFullPath(this);" /> <img id="img" /> </body> </html>

js实现选择文件路径(限IE)

js实现选择文件路径(限IE)

<%@page language="java"import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ path + "/";%><!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>My JSP 'test03.jsp' starting page</title> <meta http-equiv="pragma"content="no-cache"><meta http-equiv="cache-control"content="no-cache"><meta http-equiv="expires"content="0"><meta http-equiv="keywords"content="keyword1,keyword2,keyword3"><meta http-equiv="description"content="This is my page"><!--<link rel="stylesheet" type="text/css"href="styles.css">--><!--browseFolder()函数,它将提供一个文件夹选择对话框以供用户实现对系统文件夹选择的功能文件夹选择对话框起始目录由Shell.BrowseForFolder(WINDOW_HANDLE, Message, OPTIONS, strPath)函数的strPath参数设置例如:0x11--我的电脑0 --桌面"c:\\"--系统C盘用如下代码把该函数应用到一个HTML文件中:<script src="browseFolder.js"></script> 或把下面代码直接COPY到<scriptlanguage="javascript">...</script>标签中;用一般的触发函数均可在HTML文件中使用该函数例如:<input type="button"onclick="BrowseFolder()" />注意:请定义NAME为savePath的输入框接收或显示返回的值,例如:<input type="text" name="savePath" /> 特别注意的是,由于安全方面的问题,你还需要如下设置才能使本JS代码正确运行,否者会出现"没有权限"的问题.1、设置可信任站点(例如本地的可以为:http://localhost)2、其次:可信任站点安全级别自定义设置中:设置下面的选项"对没有标记为安全的ActiveX控件进行初始化和脚本运行"----"启用"--><script type="text/javascript">function browseFolder(path) {try {var Message ="\u8bf7\u9009\u62e9\u6587\u4ef6\u5939"; //选择框提示信息var Shell = newActiveXObject("Shell.Application");var Folder = Shell.BrowseForFolder(0, Message, 64, 17); //起始目录为:我的电脑//var Folder = Shell.BrowseForFolder(0, Message, 0); //起始目录为:桌面if (Folder != null) {Folder = Folder.items(); // 返回FolderItems 对象Folder = Folder.item(); // 返回Folderitem 对象Folder = Folder.Path; // 返回路径if (Folder.charAt(Folder.length - 1) != "\\") {Folder = Folder + "\\";}document.getElementById(path).value = Folder;return Folder;}} catch (e) {alert(e.message);}}</script></head><body><table><tr><td>选择导入数据源:</td><td><input id="path"type="text"name="path"size="30"></td><td><input type=button value="选择"onclick="browseFolder('path')"></td></tr></table><div style="display: none;color:red;">注:如果点击选择按钮提示:你没有权限,应该如下修改:<br/> 1.单击菜单工具->Internet选项->安全->受信任站点->站点->把此网站设为可信站点<br/> 2.在自定义级别->对没有标记为安全的ActiveX控件进行初始化和脚本运行"----"启用".</div></body></html>。

js相对路径转绝对路径代码

js相对路径转绝对路径代码

js相对路径转绝对路径代码在前端开发过程中,经常会遇到相对路径和绝对路径的问题。

相对路径相对简单,但是当需要获取其他文件夹下的文件时,就需要用到绝对路径。

绝对路径是相对路径的加强版,是从网站根目录开始的完整路径。

在JS中,我们可以使用一些方法将相对路径转换成绝对路径,接下来我们来分步骤地讲解一下。

第一步:获取当前网页地址我们可以使用location对象来获取当前网页地址,其中包括协议、主机、端口、路径和参数等信息。

通过获取当前网页地址,我们可以知道根目录是哪个文件夹,以便后续的路径计算。

```javascriptvar currentUrl = window.location.href;```第二步:获取根目录路径获取根目录路径的方法是将当前网页地址中的文件名以及参数部分去掉,只保留协议、主机、端口和路径信息。

一般来说,根目录路径就是网站地址中第一个“/”(斜杠)之后的路径。

```javascriptvar hostUrl = window.location.protocol + "//" +window.location.host;var rootPath = hostUrl +window.location.pathname.substring(0,window.location.pathname .substr(1).indexOf('/')+1);```第三步:拼接相对路径将根目录路径和相对路径拼接起来,就得到了绝对路径。

对于相对路径而言,如果是当前文件夹下的文件,直接在根目录路径后面加上文件名即可;如果是其他文件夹下的文件,则需要将相对路径中的“../”转换成文件夹名,然后再拼接到根目录路径后面。

```javascriptfunction getAbsolutePath(relativePath){if (relativePath.indexOf("://") !== -1){return relativePath; // 如果是绝对路径则直接返回}var folders = relativePath.split("/");while(folders[0] === "."){folders.shift();}var resultPath = rootPath;if (folders[0] !== ""){resultPath += "/";resultPath += folders[0];}for(var i = 1; i < folders.length; i++){if(folders[i] === ".."){resultPath = resultPath.substring(0,stIndexOf("/"));} else if(folders[i] !== ""){resultPath += "/";resultPath += folders[i];}}return resultPath;}```以上就是将JS相对路径转换成绝对路径的三个步骤:获取当前网页地址、获取根目录路径和拼接相对路径。

js获取本地文件及目录的方法(推荐)

js获取本地文件及目录的方法(推荐)

js获取本地⽂件及⽬录的⽅法(推荐)Javascript是⽹页制作中离不开的脚本语⾔,依靠它,⼀个⽹页的内容才⽣动活泼、富有朝⽓。

但也许你还没有发现并应⽤它的⼀些更⾼级的功能吧?⽐如,对⽂件和⽂件夹进⾏读、写和删除,就象在VB、VC等⾼级语⾔中经常做的⼯作⼀样。

怎么样,你是否需要了解这⽅⾯的知识?那就请跟我来,本⽂将详细描述如何使⽤Javascript语⾔进⾏⽂件操作。

⼀、功能实现核⼼:FileSystemObject 对象其实,要在Javascript中实现⽂件操作功能,主要就是依靠FileSystemobject对象。

在详细介绍FileSystemobject对象的各个属性和⽅法的使⽤细节前,先来看看这个对象包括哪些相关对象和集合:⼆、FileSystemObject编程三部曲使⽤FileSystemObject 对象进⾏编程很简单,⼀般要经过如下的步骤:创建FileSystemObject对象、应⽤相关⽅法、访问对象相关属性。

(⼀)创建FileSystemObject对象创建FileSystemObject对象的代码只要1⾏:var fso = new ActiveXObject("Scripting.FileSystemObject");上述代码执⾏后,fso就成为⼀个FileSystemObject对象实例。

(⼆)应⽤相关⽅法创建对象实例后,就可以使⽤对象的相关⽅法了。

⽐如,使⽤CreateTextFile⽅法创建⼀个⽂本⽂件:var fso = new ActiveXObject("Scripting.FileSystemObject");var f1 = fso.createtextfile("c:\\myjstest.txt",true");(三)访问对象相关属性要访问对象的相关属性,⾸先要建⽴指向对象的句柄,这就要通过get系列⽅法实现:GetDrive负责获取驱动器信息,GetFolder负责获取⽂件夹信息,GetFile负责获取⽂件信息。

js读取本地文件的实例

js读取本地文件的实例

js读取本地⽂件的实例如何⽤在浏览器端预览本地⽂件?今天的主题是使⽤浏览器预览本地⽂件。

由于浏览器安全策略的限制,javascript程序不能⾃由地访问本地资源,这是对⽤户信息安全来说,是⼀项不得不遵守的准则。

假如⽹络上的javascript程序可以⾃如地访问⽤户主机的本地资源,那么浏览器⽤户将毫⽆安全可⾔。

尽管有这个安全限制,但是在得到⽤户允许的情况下,浏览器还是可以访问本地资源的。

获得⽤户允许的⽅法就是通过标签来让⽤户⼿动选择⽂件,这⼀过程就是⽤户授予访问权限的过程。

然后使⽤获得File 对象通过URL.createObjectURL(file)转换为⽂件url, 就可以传递给类似y于img,video,audio等标签使⽤了。

我将本地⽂件转换为url 的功能封装成了⼀个类。

function LocalFileUrl(){var _this = this;this.input_id = 'input_getLocalFile'+ Math.round(Math.random() * 1000);$("body").append("<input type='file' style='display:none' id='"+this.input_id+"' multiple>");this.urls=[];var _this = this;$("#" + this.input_id).change(function(e){console.log("change");//如果_this.urls 不为空,则释放urlif(_this.urls){_this.urls.forEach(function(url,index,array){URL.revokeObjectURL(url.url);//⼀经释放,马上将⽆法使⽤这个url的资源});_this.urls = [];}$(this.files).each(function(index,file){var url = URL.createObjectURL(file);_this.urls.push({url:url,file:file});});typeof _this.getted == 'function' && _this.getted(_this.urls);})}/*参数说明:getted:function(urls){}urls是⼀个url对象数组。

js file路径正则表达式

js file路径正则表达式

js file路径正则表达式JavaScript(简称JS)是一种广泛应用于Web开发的脚本语言。

在JS文件路径的正则表达式中,我们可以通过使用适当的模式来找到文件路径中的JS文件。

在本文中,我们将探讨如何使用正则表达式来匹配JS文件路径,并介绍一些常见的模式和用法。

让我们来看一下JS文件路径的一般格式。

一个典型的JS文件路径可能是这样的:```html<script src="path/to/file.js"></script>```在这个例子中,我们可以看到JS文件路径是在`<script>`标签的`src`属性中定义的。

路径通常以相对路径或绝对路径的形式出现。

相对路径是相对于当前HTML文件的位置,而绝对路径是从根目录开始的完整路径。

现在,让我们来编写一个正则表达式,以匹配JS文件路径。

我们将使用以下模式:```javascript/[^/]+\.js$/```让我们逐步解释这个正则表达式的模式:- `/`:正则表达式的开始和结束定界符。

- `[^/]+`:一个字符集,用于匹配除了斜杠(/)之外的任意字符,重复一次或多次。

- `\.js`:匹配.和js这两个字符。

- `$`:匹配字符串的结尾。

通过将这个正则表达式应用于JS文件路径,我们可以找到路径中以.js结尾的文件名。

这个正则表达式模式将匹配以下JS文件路径:- `path/to/file.js`- `script.js`- `folder/script.js`但是,它不会匹配以下路径:- `path/to/file.html`- `script.js.txt`- `folder/script.js.php`现在,让我们来看一些实际的示例,以更好地理解如何使用这个正则表达式。

```javascriptvar path = "path/to/file.js";var pattern = /[^/]+\.js$/;if (pattern.test(path)) {console.log("This is a valid JS file path.");} else {console.log("This is not a valid JS file path.");}```在这个例子中,我们将`path/to/file.js`赋值给了一个变量`path`,然后我们使用正则表达式模式来测试这个路径。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'test03.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
0 --桌面
"c:\\"--系统C盘
用如下代码把该函数应用到一个HTML文件中:
<script src="browseFolder.js"></script>
或把下面代码直接COPY到<script language="javascript">...</script>标签中;
用一般的触发函数均可在HTML文件中使用该函数
}
} catch (e) {
alert(e.message);
}
}
</script>
</head>
<body>
<table>
<tr>
<td>选择导入数据源:</td>
<td><input id="path" type="text" name="path" size="30">
</td>
<td><input type=button value="选择" onclick="browseFolder('path')">
-->
<!--
browseFolder()函数,它将提供一个文件夹选择对话框
以供用户实现对系统文件夹选择的功能
文件夹选择对话框起始目录由
Shell.BrowseForFolder(WINDOW_HANDLE, Message, OPTIONS, strPath)函数的strPath参数设置
例如:0x11--我的电脑
例如:<input type="button" onclick="BrowseFolder()" />
注意:请定义NAME为savePath的输入框接收或显示返回的值,例如:
<input type="text" name="savePath" />
特别注意的是,由于安全方面的问题,你还需要如下设置才能使本JS代码正确运行,
否者会出现"没有权限"的问题.
1、设置可信任站点(例如本地的可以为:http://localhost)
2、其次:可信任站点安全级别自定义设置中:设置下面的选项
"对没有标记为安全的ActiveX控件进行初始化和脚本运行"----"启用"
-->
<script type="text/javascript">
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
function browseFolder(path) {
try {
var Message = "\u8bf7\u9009\u62e9\u6587\u4ef6\u5939"; //选择框提示信息
var Shell = new ActiveXObject("Shell.Application");
var Folder = Shell.BrowseForFolder(0, Message, 64, 17); //起始目录为:我的电脑
//var Folder = Shell.BrowseForFolder(0, Message, 0); //起始目录为:桌面
if (Folder != null) {
Folder = Folder.items(); //返回FolderItems对象
Folder = Folder.item(); //返回Folderitem对象
</div>
</body>
</td>
</tr>
</table>
<div style="display: none;color:red;">
注:如果点击选择按钮提示:你没有权限,应该如下修改:<br /> 1.
单击菜单工具->Internet选项->安全->受信任站点->站点->把此网站设为可信站点<br /> 2.
在自定义级别->对没有标记为安全的ActiveX控件进行初始化和脚本运行"----"启用".
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
Folder = Folder.Path; //返回路径
if (Folder.charAt(Folder.length - 1) != "\\") {
Folder = Folder + "\\";
}
document.getElementById(path).value = Folde
相关文档
最新文档