我的应用程序创建.xml
文件并将它们存储在用户的硬盘驱动器上;我在web.xml
中设置了一个默认文件夹来存储文件,比如D:/temp
。现在我编写文件后,我需要用JavaScript读取它们,我正在使用具有此功能的JavaScript库mxUtils.load('URL of the file')
(该函数返回文件的内容),问题是它给了我一个错误Cross origin requests are only supported for HTTP
,(我现在与功能或库没有任何关系)我认为问题在于,由于某些安全问题,您无法读取本地文件。任何人都可以告诉我一些解决方案?谢谢使用javascript从硬盘读取文件
回答
你不能使用javascript访问本地文件系统。 要使用JavaScript访问文件,您必须将其上传到服务器并使用文件url访问它。
假设文件在服务器上,我该如何访问它? –
@ShaheMasoyan您必须使用HTTP或FTP等协议为文件提供url。 例如:'http:// yourserver.com/files/web.xml' 然后您可以使用'mXutils.load(url)'或'mxUtils.get(url,onload,onerror)' –
该文件位于硬盘不在我的应用程序源文件中(例如:它位于D:/)如何传递网址? –
最好通过HTTP公开您的文件,并使用mxUtils.load("http://yoursite/static/yourfile.xml")
。
在Apache HTTP Server HowTo上搜索static files
。设置Apache以提供您的xml文件,请确保您可以在浏览器中查看xml文件,然后在mxUtils.load
调用中使用相同的URL。
我的文件存储在硬盘上,无法使用'http:// yoursite/yourfile.xml'来访问。 –
您在服务器端使用什么技术? Node.js的? Asp.Net? –
Apache Tomcat 6.0 –
如上所述,您不能严格通过Javascript访问文件系统上的文件。你可以,但是,使用input
文件类型的文件上传到服务器,然后阅读:
<input type="file" name="myfileinput">
然后,您可以通过$_FILES
全球访问它在PHP
- 其他语言也可通过其他提供此功能手段。请再次注意,没有他们的同意(即使用文件输入类型),绝对没有办法使用Javascript访问某人文件系统上的文件。这将是一个巨大的安全风险 - 想象一下到一个页面,让它擦拭整个驱动器。
- 1. 如何使用Firefox插件从硬盘读取/写入文件?
- 2. 从硬盘快速读取
- 3. 从Google云端硬盘文件中读取文本
- 4. 使用javascript从磁盘读取xml文件
- 5. 如何在t-sql中从硬盘中读取文件名
- 6. 在Ruby中打开并从Google云端硬盘读取文件
- 7. Boost asio socket:从硬盘读取文件的最快方法?
- 8. 在iPhone模拟器中从硬盘读取文件
- 9. Python - 直接从硬盘读取
- 10. 无法从Google云端硬盘的应用文件夹中读取文件
- 11. 如何使用javascript/jquery读取硬编码图像文件
- 12. 使用javascript读取文件
- 13. 使用javascript读取文件
- 14. 将文本读取并写入硬盘上的单独文件
- 15. iTextSharp从硬盘读取pdf模板并写入文本
- 16. 使用Django打从硬盘
- 17. 如何在Firefox中读取/写入硬盘中的文件?
- 18. 只能在linux中读取硬盘文件
- 19. 在一次访问硬盘时读取几个txt文件
- 20. 如何从磁盘读取.fit文件
- 21. 从本地磁盘读取文件
- 22. Javascript:使用AJAX读取文本文件
- 23. 使用Javascript读取文本文件
- 24. 使用Javascript读取文本文件
- 25. 在字节级别读取硬盘
- 26. 硬盘读取时的性能问题
- 27. 如何从网页上读取和运行硬盘上的文件?
- 28. python从硬盘读取文件,并根据发现的模式返回结果
- 29. 优化 - 使用Windows API从磁盘读取文件
- 30. 我可以使用Webassembly从磁盘读取文件吗?
是的,这是一个安全问题。没有人希望他们的浏览器能够无拘无束地访问文件系统。你能详细阐述一下正在使用的浏览器吗(它是一个真正的浏览器还是嵌入式的)? mxUtil文档说:“您可能需要加载chrome://global/content/contentAreaUtils.js以禁用Mozilla中的打开,保存,保存和复制功能的某些安全限制。” – SpliFF
如果您正在一台机器上运行并测试您的应用程序,那么请通过从其他某台机器上点击您的应用程序来重新进行验证。我真的怀疑你是否可以通过在web.xml中配置一些东西来保存客户端硬盘上的任何文件。 – jsjunkie
@SpliFF如果我将文件保存在服务器上而不是用户的机器上,那我该如何读取这些文件? –