public bool UploadToAWS(MemoryStream ms, string filename) { this.ProgressBar.Start(filename, 105); try { TransferUtilityUploadRequest request = new TransferUtilityUploadRequest(); request.UploadProgressEvent += displayProgress; request.AutoCloseStream = false; request.BucketName = bucketName; request.InputStream = ms; request.Key = prefix + filename; if (!isPrivate) { request.AddHeader("x-amz-acl", "public-read"); } TransferUtility fileTransferUtility = new TransferUtility(AWSKey, AWSSecretKey); fileTransferUtility.Upload(request); } catch (Exception) { return(false); } ms.Dispose(); this.ProgressBar.Done(); return(true); }
public void UploadFile(string filePath, string toPath) { AsyncCallback callback = new AsyncCallback(uploadComplete); var uploadRequest = new TransferUtilityUploadRequest(); uploadRequest.FilePath = filePath; uploadRequest.Key = toPath; uploadRequest.AddHeader("x-amz-acl", "public-read"); transferUtility.BeginUpload(uploadRequest, callback, null); }
protected override void ExecuteS3Task() { if (!File.Exists(this.SourceFile)) { throw new BuildException("source-file does not exist: " + this.SourceFile); } using (TransferUtility transferUtility = new Amazon.S3.Transfer.TransferUtility(this.AccessKey, this.SecretAccessKey)) { TransferUtilityUploadRequest uploadRequest = new TransferUtilityUploadRequest { BucketName = this.BucketName, FilePath = this.SourceFile, Key = this.DestinationFile }; if (PublicRead) { uploadRequest.AddHeader("x-amz-acl", "public-read"); } transferUtility.Upload(uploadRequest); } }
/// <summary> /// Uploads the specified content item to the remote blob storage. /// </summary> /// <param name="content">Descriptor of the item on the remote blob storage.</param> /// <param name="source">The source item's content stream.</param> /// <param name="bufferSize">Size of the upload buffer.</param> /// <returns>The length of the uploaded stream.</returns> public override long Upload(IBlobContent content, Stream source, int bufferSize) { var request = new TransferUtilityUploadRequest() .WithBucketName(this.bucketName) .WithKey(content.FilePath) .WithPartSize(bufferSize) .WithContentType(content.MimeType); //set the item's accessibility as public request.AddHeader("x-amz-acl", "public-read"); //get it before the upload, because afterwards the stream is closed already long sourceLength = source.Length; using (MemoryStream str = new MemoryStream()) { source.CopyTo(str); request.InputStream = str; this.transferUtility.Upload(request); } return(sourceLength); }
public void Upload() { // Loop through each file in the request for (int i = 0; i < HttpContext.Request.Files.Count; i++) { // Pointer to file var file = HttpContext.Request.Files[i]; var filename = User.Identity.Name + "_" + DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalMilliseconds.ToString().Replace('.', '_') + "_" + file.FileName; int width = 0, height = 0; try { using (var client = new TransferUtility(AuthConfig.AWSPUBLIC, AuthConfig.AWSPRIVATE)) { using (var memoryStream = new MemoryStream()) { using (var yourBitmap = new Bitmap(file.InputStream)) { yourBitmap.Save(memoryStream, ImageFormat.Jpeg); width = yourBitmap.Width; height = yourBitmap.Height; AsyncCallback callback = new AsyncCallback(uploadComplete); var request = new TransferUtilityUploadRequest(); request.BucketName = "TTPosts"; //create a hash of the user, the current time, and the file name //to avoid collisions request.Key = filename; request.InputStream = memoryStream; //makes public request.AddHeader("x-amz-acl", "public-read"); IAsyncResult ar = client.BeginUpload(request, callback, null); client.EndUpload(ar); } } } } catch (AmazonS3Exception amazonS3Exception) { if (amazonS3Exception.ErrorCode != null && (amazonS3Exception.ErrorCode.Equals("InvalidAccessKeyId") || amazonS3Exception.ErrorCode.Equals("InvalidSecurity"))) { Console.WriteLine("Please check the provided AWS Credentials."); Console.WriteLine("If you haven't signed up for Amazon S3, please visit http://aws.amazon.com/s3"); } else { Console.WriteLine("An error occurred with the message '{0}' when writing an object", amazonS3Exception.Message); } return; } catch (Exception e) { Console.WriteLine(e.ToString()); } Posts p = new Posts() { title = "$" + HttpContext.Request.Form["tags"], filename = "http://s3.amazonaws.com/TTPosts/" + filename, owner = WebSecurity.GetUserId(User.Identity.Name), dateuploaded = DateTime.UtcNow, width = width, height = height }; new TTRESTService().PostPost(p); } }