示例#1
0
        public bool uploadFileUsingToken(uploadDownloadInput input)
        {
            bool result = false;

            HttpWebRequest httpRequest = WebRequest.Create(input.signedUrl) as HttpWebRequest;

            httpRequest.Method = "PUT";
            httpRequest.Headers["Content-Type"] = "application/octet-stream";

            using (Stream dataStream = httpRequest.GetRequestStream())
            {
                // make sure to have correct path, from where we want to upload the file
                using (Stream fileStream = new FileStream(path + "Shaft.jt", FileMode.Open, FileAccess.Read))
                {
                    fileStream.CopyTo(dataStream);
                }
            }
            HttpWebResponse response = httpRequest.GetResponse() as HttpWebResponse;

            if (response.StatusCode == HttpStatusCode.OK)
            {
                result = true;
            }
            return(result);
        }
        public bool uploadFileUsingToken(uploadDownloadInput input)
        {
            bool result = false;

            HttpWebRequest httpRequest = WebRequest.Create(input.signedUrl) as HttpWebRequest;

            httpRequest.Method = "PUT";
            httpRequest.Headers["Content-Type"] = "application/octet-stream";
            // This is Azure specific header which needs to be passed while PUT request
            httpRequest.Headers["x-ms-blob-type"] = "BlockBlob";

            using (Stream dataStream = httpRequest.GetRequestStream())
            {
                using (Stream fileStream = new FileStream(path + input.fileName, FileMode.Open, FileAccess.Read))
                {
                    fileStream.CopyTo(dataStream);
                }
            }
            HttpWebResponse response = httpRequest.GetResponse() as HttpWebResponse;

            if (response.StatusCode == HttpStatusCode.OK)
            {
                result = true;
            }
            return(result);
        }
 public void Upload([FromBody] uploadDownloadInput input)
 {
     if (ModelState.IsValid)
     {
         _service.UploadObject(input);
     }
 }
        public void UploadObject(uploadDownloadInput input)
        {
            IStorageRepository storageRepo = _factory.GetStorgeRepository(input.storageServiceType);
            bool result = storageRepo.uploadFileUsingToken(input);

            if (!result)
            {
                Console.WriteLine($"ERROR : File upload failed : {input.fileName}");
            }
            else
            {
                Console.WriteLine($"File upload completed : {input.fileName}");
            }
        }
        public bool downloadFileUsingToken(uploadDownloadInput input)
        {
            bool           result      = true;
            HttpWebRequest httpRequest = WebRequest.Create(input.signedUrl) as HttpWebRequest;

            httpRequest.Method = "GET";

            using (HttpWebResponse httpResponse = (HttpWebResponse)httpRequest.GetResponse())
            {
                using (Stream responseStream = httpResponse.GetResponseStream())
                {
                    using (Stream fileStream = new FileStream(path + input.fileName, FileMode.Create))
                    {
                        responseStream.CopyTo(fileStream);
                    }
                }
            }

            return(result);
        }