繁体   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