簡體   English   中英

我如何允許用戶將文件上傳到我的網站,對其進行編輯並將其保存回去

[英]How do I allow the user to upload file to my site, edit it and save it back

我正在構建一個非常簡單的Web應用程序。 沒有php-只有html和javascript。

我想為來我網站的用戶獲得此用例:

  1. 用戶將從他/她的計算機中選擇一個文本文件-例如:c:\\ directory \\ file.txt
  2. 他將在我的網頁中打開此文件(我是否必須為此使用php?將文件上傳到服務器,然后在我的網站上顯示?如果我不希望服務器中的數據-只是為了讓用戶編輯它-我可以在客戶端使用JS執行所有這些操作嗎?)
  3. 他將編輯一些文本
  4. 他將按下名為“保存”或“另存為”的按鈕,它將自動將文件保存在計算機中。

由於我對文件管理一無所知-我很高興獲得提示,以獲取有關管理該庫或有關該庫的一般信息的js庫的建議。

謝謝,阿隆

ps在網絡上搜索“上傳文件”給了我很多關於如何將文件上傳到ftp的結果-我的問題不是這個。

您似乎要求的通常需要服務器端代碼(例如php)。

話雖如此,但是有一些方法可以僅使用JavaScript來實現。 該代碼將主要針對瀏覽器,並且在保存時會生成安全警告( 因為讓JavaScript使用此類資源通常是不安全的 )。 具體來說,我記得TiddlyWiki ,它僅適用於JavaScript和HTML。 看一看這樣的TiddlyWiki文件中的代碼,里面有這樣的代碼:

// Returns null if it can't do it, false if there's an error, true if it saved OK
function mozillaSaveFile(filePath,content)
{
    if(window.Components) {
        try {
            netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
            var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
            file.initWithPath(filePath);
            if(!file.exists())
                file.create(0,0x01B4);// 0x01B4 = 0664
            var out = Components.classes["@mozilla.org/network/file-output-stream;1"].createInstance(Components.interfaces.nsIFileOutputStream);
            out.init(file,0x22,0x04,null);
            out.write(content,content.length);
            out.flush();
            out.close();
            return true;
        } catch(ex) {
            return false;
        }
    }
    return null;
}

或者,根據需要支持的瀏覽器,可以研究HTML5的本地存儲功能。

暫無
暫無

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

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