我正在构建一个应用程序,我到了需要在应用程序中的目录中创建新文件夹/文件的部分。我为这些文件/文件夹和按钮创建了表单,但我不确定它们是如何实际出现的。 我找到了这个http://community.hpe.com/t5/HPE-Service-Manager-Service/Javascript-Create-New-Local-Folder/td-p/6768020,但我不确定这是我在寻找什么
答案 0 :(得分:3)
对于客户端或服务器端的JavaScript解决方案,您可以使用Node.js;然而,
您可以找到有关这些“JavaScript”解决方案的大量文档;但是,还有其他“JavaScript”解决方案,NodeJS非常受欢迎。
如果您使用服务器上的其他语言(如PHP),可以在此处找到有关它的更多信息:http://php.net
以下描述了一个JavaScript解决方案,其中包含服务器端代码,您只需复制和解决该问题。粘贴并修改您的需求。
这假设您在Linux上运行NodeJ并且文件/文件夹(路径)不是递归的。以下示例未经过测试,请随时测试&必要时修复。
对于与下面“服务器端”示例交互的客户端代码,请创建一个使用以下内容的HTML表单:method="PUT"
以及vars
所需的字段; - 或者 - 使用AJAX方法来完成相同的操作。
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);
如果您的服务器在同一台计算机上运行,您可以在网络浏览器的地址栏中键入:http://127.0.0.1:8124
并按Enter / return;但请参阅正确的NodeJS文档,以提供必要的客户端HTML&提到的JavaScript。