簡體   English   中英

從Java下載動態創建的文本文件,直接寫到計算機還是保存在服務器上?

[英]Downloading a dynamically created text file from Java, write directly to computer or save on server?

當用戶單擊我網頁上的下載按鈕(用簡單的Javascript編碼)時,它會觸發一個PHP函數,該函數調用Java文件。 此Java代碼連接到數據庫並寫入文本文件。

目前,該代碼正在我的本地計算機上開發。 這是當前正在創建本地文本文件並將信息寫入其中的代碼片段:

        StreamFactory sf = StreamFactory.newInstance();
        sf.loadResource("mapping.xml");
        File file = new File("C:\\MyLocal\\foo.txt");
        BeanWriter bw = sf.createWriter("fileExport", file);

        // writes beans
        bw.write("", "");
        ...

        bw.flush(); // flushes to foo.txt located in C:\MyLocal

我的問題是可以將動態創建的文本文件寫入用戶計算機,而不是本地計算機嗎?如果是,那么這是一個好的Web開發實踐嗎? 這樣的好處是我不需要將foo.txt存儲在代碼將駐留的服務器上。 但是,我對Web開發實踐不是很熟悉,也沒有看到關於此主題的具體規則。

如果最好將其保存到服務器,然后從那里實現一些下載代碼,那么是否應該在頁面的PHP或Java后端函數中處理

無法在用戶的計算機文件系統上寫。

由於采用javascript安全措施,如果不是由於這種原因,惡意網站/ webapp可能會在用戶硬盤驅動器上寫入大量數據,或者可能會編寫惡意腳本。

用戶可以選擇下載文件,但是網頁無法直接訪問用戶文件系統。

曾經有一個提案API可以做這樣的事情,但是它已經停產了https://www.html5rocks.com/en/tutorials/file/filesystem/

回答您的問題:嘗試在用戶文件系統上寫入文件絕對不是一個好習慣

您應該在后端使用Java處理下載

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM