Beispiel #1
0
        public object Post(Files request)
        {
            var targetDir = GetPath(request);

            if (VirtualFiles.IsFile(targetDir))
            {
                throw new NotSupportedException(
                          "POST only supports uploading new files. Use PUT to replace contents of an existing file");
            }

            if (!VirtualFiles.DirectoryExists(targetDir))
            {
                VirtualFiles.WriteFile(targetDir.CombineWith(".temp"), "");
                VirtualFiles.DeleteFile(targetDir.CombineWith(".temp"));
            }

            foreach (var uploadedFile in base.Request.Files)
            {
                var newFilePath = targetDir.CombineWith(uploadedFile.FileName);
                VirtualFiles.WriteFile(newFilePath, uploadedFile.InputStream);
            }

            return(new FilesResponse());
        }