public static FileManagerSaveFilesResponse SaveFiles(this IFileManager fm, string path, HttpFileCollectionBase files, bool overwriteExisting = true, string filter = "")
        {
            FileManagerSaveFilesResponse response;

            if (files == null || files.Count == 0)
            {
                response = new FileManagerSaveFilesResponse {
                    Status = "NoPostedFile"
                }
            }
            ;
            else
            {
                var _files = new List <DataFile>();

                foreach (HttpPostedFileBase file in files)
                {
                    var ms = new MemoryStream();
                    file.InputStream.CopyTo(ms);
                    _files.Add(new DataFile {
                        FileName = file.FileName, Data = ms.ToArray()
                    });
                }

                response = fm.SaveFiles.Run(new FileManagerSaveFilesRequest
                {
                    Path              = path,
                    Files             = _files.ToArray(),
                    OverwriteExisting = overwriteExisting,
                    Filter            = filter
                });
            }

            return(response);
        }
        public static async Task <FileManagerSaveFilesResponse> SaveFilesAsync(this IFileManager fm, string path, HttpFileCollectionBase files, bool overwriteExisting, string filter, CancellationToken token)
        {
            FileManagerSaveFilesResponse response;

            if (files == null || files.Count == 0)
            {
                response = new FileManagerSaveFilesResponse {
                    Status = "NoPostedFile"
                }
            }
            ;
            else
            {
                var _files = new List <DataFile>();

                for (var i = 0; i < files.Count; i++)
                {
                    var file = files[i];
                    var data = await file.GetBytesAsync(8192, token);

                    _files.Add(new DataFile {
                        FileName = file.FileName, Data = data
                    });
                }

                response = await fm.SaveFiles.RunAsync(new FileManagerSaveFilesRequest
                {
                    Path              = path,
                    Files             = _files.ToArray(),
                    OverwriteExisting = overwriteExisting,
                    Filter            = filter
                }, token);
            }

            return(response);
        }