예제 #1
0
 private static void DemandSize()
 {
     if (BackupHelper.ExceedsMaxAvailableSize(TenantProvider.CurrentTenantID))
     {
         throw new InvalidOperationException(string.Format(UserControlsCommonResource.BackupSpaceExceed,
                                                           FileSizeComment.FilesSizeToString(BackupHelper.AvailableZipSize),
                                                           "",
                                                           ""));
     }
 }
예제 #2
0
        public FileUploadResult ProcessUpload(HttpContext context)
        {
            if (context.Request.Files.Count == 0)
            {
                return(Error("No files."));
            }

            if (BackupHelper.ExceedsMaxAvailableSize(TenantProvider.CurrentTenantID))
            {
                return(Error("Backup not allowed."));
            }

            if (!SecurityContext.CheckPermissions(SecutiryConstants.EditPortalSettings))
            {
                return(Error("Access denied."));
            }

            HttpPostedFile file = context.Request.Files[0];

            if (file.ContentLength <= 0 || file.ContentLength > MaxBackupFileSize)
            {
                return(Error("File size must be greater than 0 and less than {0} bytes", MaxBackupFileSize));
            }


            try
            {
                var filePath = GetFilePath();
                file.SaveAs(filePath);
                return(Success(filePath));
            }
            catch (Exception error)
            {
                return(Error(error.Message));
            }
        }