我的應用程序創建.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如果我將文件保存在服務器上而不是用戶的機器上,那我該如何讀取這些文件? –