簡體   English   中英

如何使用JavaScript創建新的文件夾/文件?

[英]How can I create new folder/file with javascript?

我正在構建一個應用程序,然后進入需要在應用程序目錄中創建新文件夾/文件的部分。 我為這些文件/文件夾制作了表格,並創建了按鈕,但是我不確定它們的實際顯示方式。 我找到了這個http://community.hpe.com/t5/HPE-Service-Manager-Service/Javascript-Create-New-Local-Folder/td-p/6768020,但是我不確定這是我要搜索的內容。

資料來源

對於客戶端或服務器端的JavaScript解決方案,可以使用Node.js。 然而,

  • 客戶端需要一個名為:“ NWJS”的軟件包,可從以下網站獲取: http ://nwjs.io/
  • 服務器端僅需要“ Node.js”可在此處使用: https : //nodejs.org

您可以找到有關這兩種“ JavaScript”解決方案的大量文檔; 但是,還有其他“ JavaScript”解決方案可用,NodeJS非常流行。

如果您在服務器上使用其他語言(例如PHP),則可以在此處找到有關它的更多信息: http : //php.net



以下內容描述了一個帶有服務器端代碼的JavaScript解決方案,您只需復制,粘貼和修改即可。

這假定您在Linux上運行NodeJ,並且文件/文件夾(路徑)不是遞歸的。 以下示例未經測試,請根據需要隨時進行測試和修復。

對於與下面的“服務器端”示例交互的客戶端代碼,請創建一個HTML表單,該表單使用: method="PUT"vars所需的字段; -或者-使用AJAX方法來完成相同的操作。

服務器端:NodeJS

let http = require('http');
//File System package...
let fsys = require('fs');


let makePath = function(root, path, data)
{
    try
    {
        fsys.accessSync(root, fsys.W_OK);
    }
    catch(err)
    {
        return {code:403, text:'Forbidden'}
    }

    path = ((path[0] == '/') ? path.substr(1, path.length) : path);

    if (path.split('/').length > 2)
    { return {code:412, text:'Precondition Failed'}; }

    if (fsys.existsSync(path))
    { return {code:409, text:'Conflict'}; }

    if (path[path.length -1] == '/')
    { fsys.mkdirSync(root +'/'+ path.substr(0, path.length -2)); }
    else
    { fsys.writeFileSync((root +'/'+ path), (data || ' '), 'utf8'); }

    return {code:200, text:'OK'};
};


http.createServer
(
    function(request, response)
    {
        let vars = url.parse(request.url);

        if (path && (path.indexOf('/') > -1) && (request.method == 'PUT'))
        {
            var resp = makePath(__dirname, vars.path, vars.data);

            response.statusCode = resp.code;
            response.setHeader('Content-Type', 'text/plain');
            response.end(resp.text);
        }
    }
).listen(8124);

用法

如果服務器運行在同一台計算機上,則可以從Web瀏覽器中訪問它,在Web瀏覽器的地址欄中鍵入: http://127.0.0.1:8124 : http://127.0.0.1:8124 : http://127.0.0.1:8124並按Enter / return; 但是,請參閱正確的NodeJS文檔,以提供上述必需的客戶端HTML和JavaScript。

暫無
暫無

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

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