public bool Post(CommitBlobRequest commitRequest)
        {
            var result = false;

            commitRequest.FileName      = commitRequest.FileName.ToLower();
            commitRequest.ContainerName = commitRequest.ContainerName.ToLower();
            var accountAndKey            = new StorageCredentials(AppSettings.StorageAccountName, AppSettings.StorageAccountKey);
            var storageaccount           = new CloudStorageAccount(accountAndKey, true);
            var blobClient               = storageaccount.CreateCloudBlobClient();
            CloudBlobContainer container = blobClient.GetContainerReference(commitRequest.ContainerName);

            container.SetPermissions(new BlobContainerPermissions {
                PublicAccess = BlobContainerPublicAccessType.Blob
            });
            CloudBlockBlob blob = container.GetBlockBlobReference(commitRequest.FileName);

            try
            {
                blob.PutBlockList(commitRequest.blobParts);
                blob.Properties.ContentType        = commitRequest.type;
                blob.Properties.ContentDisposition = "attachment";
                blob.SetProperties();

                result = true;
            }
            catch (Exception ex)
            {
                //Trace.TraceError("BuildFileSasUrl throw excaption", ex.Message);
            }


            return(result);
        }
        public bool Post(CommitBlobRequest commitRequest)
        {

            var result = false;

            commitRequest.FileName = commitRequest.FileName.ToLower();
            commitRequest.ContainerName = commitRequest.ContainerName.ToLower();
            var accountAndKey = new StorageCredentials(AppSettings.StorageAccountName, AppSettings.StorageAccountKey);
            var storageaccount = new CloudStorageAccount(accountAndKey, true);
            var blobClient = storageaccount.CreateCloudBlobClient();
            CloudBlobContainer container = blobClient.GetContainerReference(commitRequest.ContainerName);
            container.SetPermissions(new BlobContainerPermissions { PublicAccess = BlobContainerPublicAccessType.Blob });
            CloudBlockBlob blob = container.GetBlockBlobReference(commitRequest.FileName);

            try
            {
                blob.PutBlockList(commitRequest.blobParts);
                blob.Properties.ContentType = commitRequest.type;
                blob.Properties.ContentDisposition = "attachment";
                blob.SetProperties();

                result = true;
            }
            catch (Exception ex)
            {
                //Trace.TraceError("BuildFileSasUrl throw excaption", ex.Message);
            }
              

            return result;



        }
Exemple #3
0
        public async Task <CommitBlobResponse> Post([FromBody] CommitBlobRequest commitBlobRequest)
        {
            var    res     = new CommitBlobResponse();
            var    cs      = new ContosoStorage();
            string fileExt = BlobInformation.DEFAULT_FILE_EXT;

            fileExt = cs.CommitUpload(commitBlobRequest);

            var    url           = commitBlobRequest.SasUrl.Replace(AppSettings.StorageWebUri, "");
            var    urldata       = url.Split('?');
            var    index         = urldata[0].IndexOf('/');
            var    content       = urldata[0].Split('/');
            var    containerName = urldata[0].Substring(0, index);
            string fileGuidName  = urldata[0].Replace(containerName + "/lg/", "").Replace(".temp", "");

            var ibl   = new ImageBusinessLogic();
            var image = ibl.AddImageToDB(commitBlobRequest.AlbumId, commitBlobRequest.UserId, containerName, fileGuidName + "." + fileExt, commitBlobRequest.IsMobile);

            if (image != null)
            {
                res.Success = true;
                res.ImageId = image.Id;
            }

            var qm       = new QueueManager();
            var blobInfo = new BlobInformation(fileExt);

            blobInfo.BlobUri = cs.GetBlobUri(containerName, urldata[0].Replace(containerName, ""));
            blobInfo.ImageId = fileGuidName;
            await qm.PushToResizeQueue(blobInfo);

            return(res);
        }