javascript 读取json可以主动读取本地文件吗

拒绝访问 | www. | 百度云加速
请打开cookies.
此网站 (www.) 的管理员禁止了您的访问。原因是您的访问包含了非浏览器特征(3aad1-ua98).
重新安装浏览器,或使用别的浏览器如何通过javascript获得本地文件大小的 - ITeye问答
ie下好像有安全性问题,用fso或者activex都不怎么合适,flash也很麻烦,在模态窗口中像uploadfy.js这类型的上传插件都用不了,有人又其它办法吗?
&HTML&
&HEAD&
&SCRIPT&
function getFileSize (fileName) {
&& window.oldOnError = window.
&&& window.onerror = function (err) {&&&&
if (err.indexOf('utomation') != -1) {&&&&&&&
alert('file access not possible');&&&&&&&
&&&&& }&&&&&
else&&&&&&&&&&& };&
& var fso = new ActiveXObject('Scripting.FileSystemObject');&&& var file = fso.GetFile(fileName);&&& window.onerror = window.oldOnE&&& return file.S& }function showImageDimensions () {& alert(this.width + 'x' + this.height);}&/SCRIPT&
&/HEAD&
&BODY&&
FORM NAME="formName"&
&INPUT TYPE="file" NAME="fileName"&&BR&&INPUT TYPE="button" VALUE="检查文件大小" ONCLICK="alert(getFileSize(this.form.fileName.value))"&
&/FORM&
&/BODY&
&/HTML&
不行
浏览器是个沙箱,不允许我们访问本地文件。必须在服务器判断。
我记得自己做的时候,IE6,IE7,firefox都可以取到,不过需要浏览器判断,然后不同的取法。但是IE8因为安全的问题,是取不到的。
只能想其他的解决办法了。
用flash还不错啊,你看大型网站一般都用flash的。
话说前几天也在纠结这个问题,做一个文件上传下载 当时用了jquery的uploadfy的插件上传....后来被领导批了,说了大文件最好是使用ftp协议,而且当时在浏览器端下载文件到本地,服务器端的代码是实现不了的,最后是使用了我们公司内部开发的组建,实现了。
貌似是一个.net实现的插件....希望能帮到你。
javascript是不可以获取本地文件大小的。
以前的IE6有,IE7,IE8出来后未测试,据说没有,FF一定没有,建议不要用 。
如果浏览器支持html5的话就简单多了,html5的file api获取文件大小相当容易。详细可以看一下下面的例子:
function GetfileSize(addFileuploadCmp) {&
&&& var agent = window.navigator.userA&
&&& var fileSize = 0;&
&&& if (agent.indexOf("Chrome") &= 1) {&
&&&&&&&&&&& fileSize = addFileuploadCmp.fileInputEl.dom.files[0].fileS&
&&&&&&& }&
&&&&&& else if (agent.indexOf("Firefox") &= 1) {&
&&&&&&&&&&& fileSize = addFileuploadCmp.fileInputEl.dom.files[0].fileS&
&&&&&&& } else if (1==1) {&&
&&&&&&& //紧紧只是ie&
&&&&&&&&&&& var fso = new ActiveXObject("Scripting.FileSystemObject");&
&&&&&&&&&&& fileSize = fso.GetFile(addFileuploadCmp.getValue()).&
&&&&&&& }&
&&&&&&& return fileS&
楼上一个哥们的可以,但是浏览器不兼容,火狐就啃爹了
用SWFUpload- Flash 上传上传控件吧
已解决问题
未解决问题兼容IE和Firefox的、读取本地文件JS代码_最火下载站
您的位置: >
> 兼容IE和Firefox的、读取本地文件JS代码
兼容IE和Firefox的、读取本地文件JS代码
兼容IE和的、读取本地文件JS代码,作者没有给出实例,因此只有部分代码。
&script type=&text/javascript&& function read(file) { if(typeof window.ActiveXObject != 'undefined') { var content = &&; try { var fso = new ActiveXObject(&Scripting.FileSystemObject&); var reader = fso.openTextFile(file, 1); while(!reader.AtEndofStream) { content += reader.readline(); content += &\n&; } // close the reader reader.close(); } catch (e) { alert(&Internet Explore read local file error: \n& + e); } //
} else if(document.implementation && document.implementation.createDocument) { var content = && try { netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect'); var lf = Components.classes[&@mozilla.org/file/1&].createInstance(Components.interfaces.nsILocalFile); lf.initWithPath(file); if (lf.exists() == false) { alert(&File does not exist&); } var fis = Components.classes[&@mozilla.org/network/file-input-1&].createInstance(Components.interfaces.nsIFileInputStream); fis.init(lf, 0x01, 00004, null); var sis = Components.classes[&@mozilla.org/s1&].createInstance(Components.interfaces.nsIScriptableInputStream); sis.init(fis); var converter = Components.classes[&@mozilla.org/intl/scriptableunicodeconverter&].createInstance(Components.interfaces.nsIScriptableUnicodeConverter); converter.charset = &UTF-8&; content = converter.ConvertToUnicode(sis.read(sis.available())); } catch (e) { alert(&Mozilla Firefox read local file error: \n& + e); }
} } &/script&
上一篇: 下一篇:

我要回帖

更多关于 javascript读取数据库 的文章

 

随机推荐