예제 #1
0
        private static async Task file_list(IOwinContext context, FormData formdata)
        {
            if (formdata.mapParams.ContainsKey("url") && formdata.mapParams.ContainsKey("path"))
            {
                var p = CustomServer.GetStaticFileParser(formdata.mapParams["url"]);
                if (p != null)
                {
                    var dirs  = System.IO.Directory.GetDirectories(p.pathOnDrive);
                    var files = System.IO.Directory.GetFiles(p.pathOnDrive);
                    MyJson.JsonNode_Object json = new MyJson.JsonNode_Object();
                    json["tag"] = new MyJson.JsonNode_ValueNumber(0);
                    MyJson.JsonNode_Array _files = new MyJson.JsonNode_Array();
                    MyJson.JsonNode_Array _dirs  = new MyJson.JsonNode_Array();

                    json["files"]    = _files;
                    json["subpaths"] = _dirs;
                    foreach (var d in dirs)
                    {
                        MyJson.JsonNode_Object item = new MyJson.JsonNode_Object();
                        item.SetDictValue("name", d);
                        _dirs.Add(item);
                    }
                    foreach (var f in files)
                    {
                        MyJson.JsonNode_Object item = new MyJson.JsonNode_Object();
                        item.SetDictValue("name", f);
                        try
                        {
                            System.IO.FileInfo finfo = new System.IO.FileInfo(f);
                            item.SetDictValue("length", finfo.Length);
                        }
                        catch
                        {
                        }
                        _files.Add(item);
                    }
                    await context.Response.WriteAsync(json.ToString());

                    return;
                }
                else
                {
                    MyJson.JsonNode_Object json = new MyJson.JsonNode_Object();
                    json["tag"] = new MyJson.JsonNode_ValueNumber(-2);
                    json["msg"] = new MyJson.JsonNode_ValueString("file_list fail.");
                    await context.Response.WriteAsync(json.ToString());

                    return;
                }
            }
            else
            {
                MyJson.JsonNode_Object json = new MyJson.JsonNode_Object();
                json["tag"] = new MyJson.JsonNode_ValueNumber(-1);
                json["msg"] = new MyJson.JsonNode_ValueString("need param: url & path.");
                await context.Response.WriteAsync(json.ToString());

                return;
            }
        }
예제 #2
0
        private static async Task filemap_remove(IOwinContext context, FormData formdata)
        {
            if (formdata.mapParams.ContainsKey("url"))
            {
                var b = CustomServer.RemoveStaticFileMap(formdata.mapParams["url"]);
                if (b)
                {
                    MyJson.JsonNode_Object json = new MyJson.JsonNode_Object();
                    json["tag"] = new MyJson.JsonNode_ValueNumber(0);
                    await context.Response.WriteAsync(json.ToString());

                    return;
                }
                else
                {
                    MyJson.JsonNode_Object json = new MyJson.JsonNode_Object();
                    json["tag"] = new MyJson.JsonNode_ValueNumber(-2);
                    json["msg"] = new MyJson.JsonNode_ValueString("remove filemap fail.");
                    await context.Response.WriteAsync(json.ToString());

                    return;
                }
            }
            else
            {
                MyJson.JsonNode_Object json = new MyJson.JsonNode_Object();
                json["tag"] = new MyJson.JsonNode_ValueNumber(-1);
                json["msg"] = new MyJson.JsonNode_ValueString("need param: url.");
                await context.Response.WriteAsync(json.ToString());

                return;
            }
        }
예제 #3
0
 private static void filemap_add(IOwinContext context, FormData formdata)
 {
     if (formdata.mapParams.ContainsKey("url") && formdata.mapParams.ContainsKey("pathondrive"))
     {
         var b = CustomServer.AddStaticFileMap(formdata.mapParams["url"], formdata.mapParams["pathondrive"]);
         if (b)
         {
             MyJson.JsonNode_Object json = new MyJson.JsonNode_Object();
             json["tag"] = new MyJson.JsonNode_ValueNumber(0);
             context.Response.Write(json.ToString());
             return;
         }
         else
         {
             MyJson.JsonNode_Object json = new MyJson.JsonNode_Object();
             json["tag"] = new MyJson.JsonNode_ValueNumber(-2);
             json["msg"] = new MyJson.JsonNode_ValueString("add filemap fail.");
             context.Response.Write(json.ToString());
             return;
         }
     }
     else
     {
         MyJson.JsonNode_Object json = new MyJson.JsonNode_Object();
         json["tag"] = new MyJson.JsonNode_ValueNumber(-1);
         json["msg"] = new MyJson.JsonNode_ValueString("need param: url & pathondrive.");
         context.Response.Write(json.ToString());
         return;
     }
 }
예제 #4
0
        private static async Task file_save(IOwinContext context, FormData formdata)
        {
            if (formdata.mapParams.ContainsKey("url") && formdata.mapParams.ContainsKey("path") && formdata.mapFiles.ContainsKey("file"))
            {
                try
                {
                    var p = CustomServer.GetStaticFileParser(formdata.mapParams["url"]);
                    if (p != null)
                    {
                        var path = System.IO.Path.Combine(p.pathOnDrive, formdata.mapParams["path"]);
                        if (System.IO.File.Exists(path))
                        {
                            System.IO.File.Delete(path);
                        }
                        var pathpath = System.IO.Path.GetDirectoryName(path);
                        System.IO.Directory.CreateDirectory(pathpath);

                        var file = formdata.mapFiles["file"];
                        System.IO.File.WriteAllBytes(path, file);

                        MyJson.JsonNode_Object json = new MyJson.JsonNode_Object();
                        json["tag"] = new MyJson.JsonNode_ValueNumber(0);
                        await context.Response.WriteAsync(json.ToString());

                        return;
                    }
                }
                catch
                {
                }

                {
                    MyJson.JsonNode_Object json = new MyJson.JsonNode_Object();
                    json["tag"] = new MyJson.JsonNode_ValueNumber(-2);
                    json["msg"] = new MyJson.JsonNode_ValueString("file_save fail.");
                    await context.Response.WriteAsync(json.ToString());

                    return;
                }
            }
            else
            {
                MyJson.JsonNode_Object json = new MyJson.JsonNode_Object();
                json["tag"] = new MyJson.JsonNode_ValueNumber(-1);
                json["msg"] = new MyJson.JsonNode_ValueString("need param: url & path & file.");
                await context.Response.WriteAsync(json.ToString());

                return;
            }
        }
예제 #5
0
        private static async Task file_cmd(IOwinContext context, FormData formdata)
        {
            if (formdata.mapParams.ContainsKey("url") && formdata.mapParams.ContainsKey("path") && formdata.mapParams.ContainsKey("cmd"))
            {
                try
                {
                    var p = CustomServer.GetStaticFileParser(formdata.mapParams["url"]);
                    if (p != null)
                    {
                        var path = System.IO.Path.Combine(p.pathOnDrive, formdata.mapParams["path"]);
                        var cmd  = formdata.mapParams["cmd"];

                        var text = await Cmd.Call(path, cmd);

                        await context.Response.WriteAsync(text);

                        return;
                    }
                }
                catch (Exception err)
                {
                }

                {
                    MyJson.JsonNode_Object json = new MyJson.JsonNode_Object();
                    json["tag"] = new MyJson.JsonNode_ValueNumber(-2);
                    json["msg"] = new MyJson.JsonNode_ValueString("file_cmd fail.");
                    await context.Response.WriteAsync(json.ToString());

                    return;
                }
            }
            else
            {
                MyJson.JsonNode_Object json = new MyJson.JsonNode_Object();
                json["tag"] = new MyJson.JsonNode_ValueNumber(-1);
                json["msg"] = new MyJson.JsonNode_ValueString("need param: url & path & cmd.");
                await context.Response.WriteAsync(json.ToString());

                return;
            }
        }
예제 #6
0
        private static void file_remove(IOwinContext context, FormData formdata)
        {
            if (formdata.mapParams.ContainsKey("url") && formdata.mapParams.ContainsKey("path"))
            {
                try
                {
                    var p = CustomServer.GetStaticFileParser(formdata.mapParams["url"]);
                    if (p != null)
                    {
                        var path = System.IO.Path.Combine(p.pathOnDrive, formdata.mapParams["path"]);
                        if (System.IO.File.Exists(path))
                        {
                            System.IO.File.Delete(path);
                        }
                        MyJson.JsonNode_Object json = new MyJson.JsonNode_Object();
                        json["tag"] = new MyJson.JsonNode_ValueNumber(0);
                        context.Response.Write(json.ToString());
                        return;
                    }
                }
                catch
                {
                }

                {
                    MyJson.JsonNode_Object json = new MyJson.JsonNode_Object();
                    json["tag"] = new MyJson.JsonNode_ValueNumber(-2);
                    json["msg"] = new MyJson.JsonNode_ValueString("file_remove fail.");
                    context.Response.Write(json.ToString());
                    return;
                }
            }
            else
            {
                MyJson.JsonNode_Object json = new MyJson.JsonNode_Object();
                json["tag"] = new MyJson.JsonNode_ValueNumber(-1);
                json["msg"] = new MyJson.JsonNode_ValueString("need param: url & path & file.");
                context.Response.Write(json.ToString());
                return;
            }
        }