public ActionResult Sample17() { // Check is data posted if (Request.HttpMethod == "POST") { //### Set variables and get POST data System.Collections.Hashtable result = new System.Collections.Hashtable(); String clientId = Request.Form["clientId"]; String privateKey = Request.Form["privateKey"]; String basePath = Request.Form["basePath"]; String url = Request.Form["url"]; decimal Id = new decimal(); String name = ""; result.Add("clientId", clientId); result.Add("privateKey", privateKey); Groupdocs.Api.Contract.UploadRequestResult upload = null; String message = null; // Check is all needed fields are entered if (clientId == null || privateKey == null) { // If not all fields entered send error message message = "Please enter all parameters"; result.Add("error", message); // Transfer error message to template return View("Sample17", null, result); } else { if (basePath == "") { basePath = "https://api.groupdocs.com/v2.0"; } // Create service for Groupdocs account GroupdocsService service = new GroupdocsService(basePath, clientId, privateKey); result.Add("basePath", basePath); if (url.Equals("")) { //### Upload file // Get tag's names from form foreach (string inputTagName in Request.Files) { var file = Request.Files[inputTagName]; // Check that file is not fake. if (file.ContentLength > 0) { // Upload file with empty description. upload = service.UploadFile(file.FileName, String.Empty, file.InputStream); // Check is upload successful if (upload.Guid != null) { Id = upload.Id; name = upload.AdjustedName; } // If upload was failed return error else { message = "UploadFile returns error"; result.Add("error", message); return View("Sample17", null, result); } } } } if (!url.Equals("")) { //Make request to upload file from entered Url String uploadUrl = service.UploadUrl(url); if (!uploadUrl.Equals("")) { //Get all files from account Groupdocs.Api.Contract.ListEntitiesResult files = service.GetFileSystemEntities("My Web Documents", 0, -1, null, true, null, null); //Check if request return data if (files.Files.Length != 0) { //Get Name and Id of compresed file for (int i = 0; i < files.Files.Length; i++) { if (files.Files[i].Guid == uploadUrl) { Id = files.Files[i].Id; name = files.Files[i].Name; } } } else { //If file GuId is empty return error result.Add("error", "File Name is empty"); return View("Sample17", null, result); } } } //Compress uploaded file into "zip" archive decimal convertId = service.CompressFile(Id, Groupdocs.Common.ArchiveType.Zip); //Get all files from account Groupdocs.Api.Contract.ListEntitiesResult filesList = service.GetFileSystemEntities("", 0, -1, null, true, null, null); //Check if request return data if (filesList.Files.Length != 0) { //Get Name and Id of compresed file for (int i = 0; i < filesList.Files.Length; i++) { if (filesList.Files[i].Id == convertId) { name = filesList.Files[i].Name; } } //If file uploaded and compresed return message with file name to the template result.Add("message", "Archive created and saved successfully as " + name); return View("Sample17", null, result); } else { //If file GuId is empty return error result.Add("error", "File Name is empty"); } } return View("Sample17", null, result); } // If data not posted return to template for filling of necessary fields else { return View("Sample17"); } }