Beispiel #1
0
        public async Task <FileManagerSaveFileResponse> SaveFileAsync(string path, HttpPostedFileBase file, bool overwriteExisting, string filter, CancellationToken token)
        {
            FileManagerSaveFileResponse response;

            if (file == null)
            {
                response = new FileManagerSaveFileResponse {
                    Status = "NoFile"
                };
            }
            else
            {
                var data = await file.GetBytesAsync(8192, token);

                if (DirectMode)
                {
                    response = await FileManager.SaveFile.RunAsync(new FileManagerSaveFileRequest
                    {
                        Path              = path,
                        FileName          = file.FileName,
                        Data              = data,
                        OverwriteExisting = overwriteExisting,
                        Filter            = filter
                    });
                }
                else
                {
                    var ar = await ApiClient.SendAsync("/filemanager/file/save", file.FileName, data, new Dictionary <string, object>
                    {
                        { "path", GetPath(path) },
                        { "overwrite", overwriteExisting }
                    }, Initializer, MimeHelper.GetMimeType(file.FileName), token);

                    response = FinalizeResponse <FileManagerSaveFileResponse>(ar);
                }
            }

            return(response);
        }
 public static Task <byte[]> GetBytesAsync(this HttpPostedFileBase file)
 {
     return(file.GetBytesAsync(DefaultBufferSize, CancellationToken.None));
 }