最近做项目碰到一问题就是在ie中文件上传控件能获取到文件全路径 ,而在firefox中却只能得到文件名的问题,以前没碰到过,网上查了下,说是firefox的高版本中(3.0以上)考虑到安全问题,并且说是在ie8上也一样。于是网上找来一相应的解决办法,注:以下代码完全是为了记录下相应的解决办法所做的学习笔记
getFilePath: function (fileBrowser) { //fileBrowser 为一个file对象
if (navigator.userAgent.indexOf("MSIE") != -1){fileBrowser.select(); return document.selection.createRange().text; }
else if (navigator.userAgent.indexOf("Firefox") != -1 || navigator.userAgent.indexOf("Mozilla") != -1) return this.getFilePathWithFF(fileBrowser);
else alert("Not IE or Firefox (userAgent=" + navigator.userAgent + ")");
},
getFilePathWithFF: function (fileBrowser) {
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
} catch(e) {
alert('由于浏览器安全问题 请按照以下设置 [1] 地址栏输入 "about:config" ; [2] 右键 新建 -> 布尔值 ; [3] 输入 "signed.applets.codebase_principal_support" (忽略引号).');
return;
}
var fileName = fileBrowser.val();
var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
try {
// Back slashes for windows
file.initWithPath(fileName.replace(/\//g, "\\\\"));
} catch(e) {
if (e.result != Components.results.NS_ERROR_FILE_UNRECOGNIZED_PATH) throw e;
alert("File '" + fileName + "' cannot be loaded: relative paths are not allowed. Please provide an absolute path to this file.");
return;
}
return file.path;
}
设置好后:第一次运行 会弹出由于浏览器安全问题 请按照以下设置 [1] 地址栏输入 "about:config" ; [2] 右键 新建 -> 布尔值 ; [3] 输入 "signed.applets.codebase_principal_support" (忽略引号).'提示
根据提示,修改好firefox的设置后,再运行,会弹出一个对话框,点击是就行了,这时你获得的上传路径即为全路径了。
分享到:
相关推荐
标题 "IE8上传文件时javascript取文件的真实路径的问题(\"C:\\fakepath\\xxxxx )" 描述了一个在使用Internet Explorer 8 (IE8) 浏览器进行文件上传时遇到的技术挑战。在这个问题中,JavaScript无法获取到文件的实际...
虽然给定的部分内容代码未能完整展示,但从已有的代码片段中可以看出,作者试图通过检测浏览器类型(IE或Firefox),并根据不同类型的浏览器采用不同的方法来获取本地文件的路径。这种方法的核心在于使用浏览器特有...
该组件支持多种浏览器环境,包括IE6+、Firefox、Chrome、Safari等,能够很好地兼容现代和老旧的浏览器。 **1. WebUploader组件特性** - **多文件选择**:WebUploader支持多选文件,用户可以一次性选择多个文件进行...
"WLONG3D全功能无组件文件上传系统wlup v3.4.0504" 是一款专为网站设计的高效、安全的文件上传解决方案。该系统的核心特点是无需额外安装任何组件,用户可以直接在浏览器环境下进行文件上传操作,极大地简化了上传...
在进行网页开发过程中,尤其是涉及到文件上传功能时,获取用户选择的文件的路径是一个常见需求。传统的HTML中,`<input type="file">` 元素可以用来让用户选择文件,但是出于安全考虑,浏览器出于安全考虑,不允许...
在ASP.NET开发中,大文件上传是一个常见的需求,但默认情况下,ASP.NET对单个文件上传的大小有所限制。为了处理大文件上传,开发者通常会采用第三方控件或库,如NeatUpload。NeatUpload是一个高效且可靠的解决方案,...
ASPUpload组件是一款强大的ASP(Active Server Pages)上传组件,它允许用户通过Web页面将文件上传到服务器。这个组件被广泛应用于各种网站开发中,尤其在需要处理用户上传文件的场景下,如图片分享、文档共享、文件...
SmartUpload是一款功能强大的Java文件上传组件,它在Web开发中被广泛应用,特别是在处理大文件上传、多文件上传以及文件管理方面表现出色。本教程将深入探讨SmartUpload的使用方法和核心特性。 首先,SmartUpload的...
然而,这种方法并不普遍适用,因为它在IE7、IE8、Firefox以及Chrome等现代浏览器中可能无法正常工作。以下是这种方法的示例: ```javascript function getFileSize(filePath) { var image = new Image(); image....
描述中提到的"HttpUploader5ChrUtf8MySQL"可能是一个具体的文件上传组件或者库,它支持UTF-8编码和MySQL数据库的集成,这在处理中文文件名或存储文件信息时非常有用。 1. **文件上传组件**:在JSP中,我们常常使用...
当文件上传控件是一个`<input type="file">`元素时,处理起来相对简单。Selenium提供了一个方便的`send_keys()`方法,可以直接将文件路径发送到该元素,从而触发文件选择对话框并选择指定的文件。下面是一个代码...
`jspSmartUpload` 是一个在JSP(Java Server Pages)环境下广泛使用的上传下载组件,它基于Java技术,提供了强大的文件上传和下载功能。本文将深入探讨`jspSmartUpload`组件的工作原理、主要特性以及如何在实际项目...
4. **错误处理**:jspSmartUpload提供了完善的错误处理机制,当文件上传过程中出现问题时,如文件类型不匹配、大小超过限制等,能够及时反馈给用户。 5. **自定义文件名**:允许用户在上传前重命名文件,或者在...
对于非IE浏览器,如Firefox,文件路径不再可访问,而是提供了`FileList`对象,可以从中获取文件大小。 ```javascript if (agent.indexOf("Firefox") >= 1) { // Firefox的相关处理 // ... } ``` 在Firefox的处理...
在IE和旧版Firefox中,可以使用ActiveX技术,而在现代浏览器中,可以将C++编译成WASM模块,然后通过Web Worker来调用上传函数,这样可以避免阻塞用户界面。 总的来说,"上传文件动态dll c++"项目涉及以下知识点: 1...
### Java Web程序设计-1期 项目库_单元案例_文件上传下载及发送邮件教学案例 ...通过以上案例的学习,学生不仅能够掌握文件上传的基本流程,还能了解文件下载和邮件发送的实现方法,这对于实际项目开发具有重要的意义。
这个组件具有高度的可定制性和灵活性,支持多文件上传,兼容各种浏览器,包括IE、Firefox、Chrome等,且能处理大文件上传,避免了传统方式中可能出现的内存溢出问题。 首先,我们来看一下JSPSmartUpload的上传流程...
<br>2007/6/18 Version 3.1.1 beta <br>Updates: 1) 修正编辑器不支持Opera浏览器的BUG,现在已经能完美支持IE5+、Opera、FireFox等主流浏览器。 2) 修正控件在设计模式时出现找不到config配置文件但...
ActiveX控件是基于COM(Component Object Model)组件模型的,这些控件可以在Internet Explorer浏览器中运行,提供诸如多媒体播放、文件上传下载等功能。然而,有时用户可能会遇到“ActiveX控件没有在此计算机上注册...
2. **FCKeditor的特点**:FCKeditor支持多种浏览器,包括Internet Explorer、Firefox、Chrome和Safari等。它提供了丰富的API,让开发者可以自定义编辑器的行为和外观,以及集成到现有的应用程序中。此外,其本地上传...