好的,所以我今天的問題有點含糊,但這是很多人似乎都在問的問題。無論如何,從一個不完全依賴於IE的HTML頁面保存文件?我正在嘗試編寫一個打開的HTML頁面和XML文件,並允許您編輯頁面中的文件並保存它。顯然,作爲一種普遍的做法,這很糟糕,因爲使用腳本編寫文件存在巨大的安全隱患,但必須有某種方法。我使用JavaScript處理數據的大部分操作,但在對XML文件進行更改後,我希望能夠看到這些更改反映在硬盤上保存的副本中。有這樣的東西有什麼選擇?如何從瀏覽器保存或修改文件
0
A
回答
0
我不認爲你可以這樣做,但是,你可以使用php創建一個文件,用戶指定的任何內容並將其保存在服務器上。此時,您可以將鏈接返回給用戶查看。如果你有一個後端數據庫,它會更好。
就像我說的,這個選項實際上是在服務器上創建文件,而不是改變它們。
有用的鏈接:
http://www.tech-recipes.com/rx/1455/php-create-a-file-on-your-server/
+0
有些CMS執行此操作。 – Jacques
0
我會建議檢查的NodeJS。我爲Chrome寫了一個擴展,它完全一樣。它從我的硬盤打開一個文件,我可以編輯它並稍後保存它。我只是使用nodejs和套接字作爲瀏覽器和文件系統之間的橋樑。這是一個演示過程的視頻:http://www.youtube.com/watch?v=exAWuCZFCSc 而且可能因爲您已經知道JavaScript,您將能夠輕鬆編寫自己的模塊。
0
你可以試試這個:
var dataXml = '<?xml version="1.0" encoding="ISO-8859-1"?><note><from>Myself</from><to>World</to><message>Hello world!</message></note>';
var url = 'data:text/xml;charset=utf8,' + encodeURIComponent(dataXml);
window.open(url, '_blank');
window.focus();
0
只要你不關心老機器,很容易使用HTML5的JS API:
現場演示:http://danml.com/iotest.html
<input type=file id=file onchange=pop(this)>
<button onclick="download(data.value, file.files[0].name, file.files[0].type)">save</button>
<br />
<textarea cols=110 rows=20 id=data ></textarea>
<script src="http://danml.com/js/download.js" ></script>
<script>
function pop(file){
var fr=new FileReader();
fr.onload=function(e){data.value=e.target.result;}
fr.readAsText(file.files[0]);
}
</script>
相關問題
- 1. 如何從瀏覽器保存.pdf?
- 2. Node.js:如何從瀏覽器窗體保存上傳的文件?
- 3. 修復瀏覽器錯誤或將它們保存到最後?
- 4. 如何在瀏覽時保存html文件中的更改?
- 5. 如何從文件瀏覽器將文件保存到臨時目錄
- 6. 在瀏覽器中修改XML文檔
- 7. 從文件修改圖像並保存
- 8. 如何在瀏覽器中打開PDF並對其進行修改並保存?
- 9. 如何保存使用Javascript/jQuery在瀏覽器(DOM)上修改的html
- 10. 如何從瀏覽器控制檯重新加載修改的.js文件?
- 11. 如何從瀏覽器保存Excel文件到本地驅動器
- 12. 如何確保CSS/JS文件不在瀏覽器上緩存?
- 13. Rails如何在瀏覽器中編輯和保存文件?
- 14. 如何在瀏覽器上顯示和/或更改AutoCAD文件?
- 15. 瀏覽器如何保存JavaScript庫?
- 16. 利用瀏覽器緩存|修改.htaccess文件| - 不適用於JavaScript文件
- 17. 是否可以直接從瀏覽器保存文件到MongoDB?
- 18. 保存連續生成的數據從瀏覽器到文件
- 19. Imagick從瀏覽器保存爲一個PHP文件
- 20. 軟件包瀏覽器不標記本地修改的文件
- 21. 瀏覽器不保存cookies
- 22. 如何重構保存在瀏覽器緩存中的文本文件,gzip?
- 23. 保存文件沒有保存文件對話框在C#瀏覽器控制
- 24. 從CDN加載JS文件,如何防止瀏覽器緩存?
- 25. 如何從Azure Blob存儲下載文件到瀏覽器
- 26. 如何從瀏覽器緩存中讀取文件?
- 27. 槓桿瀏覽器緩存 - 過期或最大年齡,最後修改或etag
- 28. 如何在下載前強制打開文件瀏覽器來保存文件?
- 29. 瀏覽並保存pdf文件C#winform
- 30. 如何將保存好的密碼保存到瀏覽器?
不,沒有這樣的方式。使用javascript將文件保存在客戶端計算機上會是一個可怕的安全漏洞,並且感謝上帝,這是不可能的。當你提到IE時,我想你是指一些ActiveX解決方案。 –
您只能讓瀏覽器爲您提供下載,您無法選擇文件的寫入位置。基本概念是在我以前的回答[** here **](http://stackoverflow.com/a/14680193/1615483)中,但是您很可能想要生成一個_ [** ObjectURL **] (https://developer.mozilla.org/en-US/docs/Web/API/URL.createObjectURL)_從_Blob_這是您要保存的數據。 –
用ajax發送給服務器,在客戶端用'window.location ='/grabfile.php?id='+ id;抓取它時存儲它一點''用grabfile.php和'header 'Content-disposition:attachment; filename ='。$ filename);'然後瀏覽器將下載==保存文件。真棒。 – DDS