使用javascript从硬盘读取文件

使用javascript从硬盘读取文件,javascript,file-io,Javascript,File Io,我的应用程序创建.xml文件并将其存储在用户的硬盘上;我在web.xml中设置了一个默认文件夹来存储文件,比如D:/temp。现在,在我编写了需要用javascript读回的文件之后,我正在使用一个javascript库,该库具有以下函数mxUtils.load('URL of the file')(此函数返回文件的内容),问题是它给了我一个错误跨源请求仅支持HTTP,(我现在它与函数或库没有任何关系)我认为问题在于,由于某些安全问题,您无法读取本地文件。任何人都可以建议我一些解决方案吗?谢谢最

我的应用程序创建
.xml
文件并将其存储在用户的硬盘上;我在
web.xml
中设置了一个默认文件夹来存储文件,比如
D:/temp
。现在,在我编写了需要用javascript读回的文件之后,我正在使用一个javascript库,该库具有以下函数
mxUtils.load('URL of the file')
(此函数返回文件的内容),问题是它给了我一个错误
跨源请求仅支持HTTP
,(我现在它与函数或库没有任何关系)我认为问题在于,由于某些安全问题,您无法读取本地文件。任何人都可以建议我一些解决方案吗?谢谢最好通过HTTP公开您的文件并使用
mxUtils.load(“http://yoursite/static/yourfile.xml)


在上搜索
静态文件
。将Apache设置为提供xml文件,确保您可以在浏览器中查看xml文件,然后在
mxUtils.load
调用中使用相同的url。

最好通过HTTP公开您的文件,并使用
mxUtils.load(“http://yoursite/static/yourfile.xml)


在上搜索
静态文件
。将Apache设置为提供xml文件,确保您可以在浏览器中查看xml文件,然后在
mxUtils.load
call中使用相同的url。

您无法使用javascript访问本地文件系统。
要使用javascript访问文件,您必须将其上载到服务器并使用文件url访问。

您不能使用javascript访问本地文件系统。
要使用javascript访问文件,您必须将其上载到服务器并使用文件url进行访问。

如上所述,您不能严格通过javascript访问文件系统上的文件。但是,您可以使用
输入
文件类型将文件上载到服务器,然后读取:

<input type="file" name="myfileinput">


然后,您可以通过
PHP
中的
$\u文件
全局访问它-其他语言也通过其他方式提供此功能。请再次注意,未经同意(即使用文件输入类型),绝对无法使用Javascript访问某人文件系统上的文件。这将是一个巨大的安全风险-想象一下,去一个页面,让它擦除你的整个
D://
驱动器。

如上所述,你不能严格通过Javascript访问文件系统上的文件。但是,你可以使用
输入文件类型将文件上传到服务器,然后读取:

<input type="file" name="myfileinput">



然后,您可以通过
PHP
中的
$\u文件
全局访问它-其他语言也通过其他方式提供此功能。请再次注意,未经同意(即使用文件输入类型),绝对无法使用Javascript访问某人文件系统上的文件。这将是一个巨大的安全风险-想象一下,去一个页面,让它擦除你的整个
D://
驱动器。

是的,这是一个安全问题。没有人希望他们的浏览器能够不受限制地访问文件系统。你能详细说明正在使用的浏览器(是真正的浏览器还是嵌入式浏览器)吗“你可能需要加载chrome://global/content/contentAreaUtils.js 在Mozilla中禁用打开、保存、另存为和复制功能的某些安全限制。"如果你在一台机器上运行和测试你的应用程序,那么请通过从其他机器上点击你的应用程序来重新验证。我真的怀疑你是否可以通过在web上配置一些东西来在客户端硬盘上保存任何文件。xml@SpliFF如果我将文件保存在服务器上而不是用户的机器上,那么我可以读取文件吗mxUtil文档说,不必是实际的物理文件,您可以只使用localstorage将数据保存在浏览器中。是的,这是一个安全问题。没有人希望他们的浏览器能够不受限制地访问文件系统。您能详细说明所使用的浏览器(是真正的浏览器还是嵌入式浏览器)吗“你可能需要加载chrome://global/content/contentAreaUtils.js 在Mozilla中禁用打开、保存、另存为和复制功能的某些安全限制。"如果你在一台机器上运行和测试你的应用程序,那么请通过从其他机器上点击你的应用程序来重新验证。我真的怀疑你是否可以通过在web上配置一些东西来在客户端硬盘上保存任何文件。xml@SpliFF如果我将文件保存在服务器上而不是用户的机器上,那么我可以读取文件吗不必是实际的物理文件,您可以使用localstorage将数据保存在浏览器中。我的文件存储在硬盘上,无法使用
http://yoursite/yourfile.xml
您在服务器端使用什么技术?Node.js?Asp.Net?我的文件存储在硬盘上,无法使用
http://yoursite/yourfile.xml
您在服务器端使用的技术是什么?Node.js?Asp.Net?假设文件在服务器上,我如何访问它?@ShaheMasoyan您必须使用HTTP或FTP等协议提供文件的url。例如:
http://yourserver.com/files/web.xml
然后可以使用
mXutils.load(url)
mxUtils.get(url、onload、onerror)
文件位于硬盘上,而不是我的应用程序源文件中(例如:它位于D:/)我如何传递url?@ShaheMasoyan您无法使用javascript从硬盘读取本地文件。如果您想这样做,您必须在浏览器中安装一些插件或其他东西。MxUtils文档说,
需要IE中的ActiveX对象和Firefox中的特殊权限。
如果是,美国DV lot的照片编辑工具如何使用tery网页访问我们硬盘上的图像?感谢您的反馈。假设文件在服务器上,我如何访问它?@ShaheMasoyan您没有