byte[] imageData; // = new byte[10000000]; public async void awsSaveFile(MediaFile img, string name, Label lbl) { var s3 = new S3(key, secret); var bucket = "ahsscoutphotos"; MemoryStream mstr = new MemoryStream(); img.Source.CopyTo(mstr); imageData = mstr.ToArray(); try { try { await s3.CreateBucketAsync(bucket); //System.Diagnostics.Debug.WriteLine (String.Format("Bucket {0} created", bucket)); } catch (Exception x) { System.Diagnostics.Debug.WriteLine(x.Message); } //await s3.PutObjectAsync(bucket, "myobject", "Hello World"); //System.Diagnostics.Debug.WriteLine (String.Format("Object myobject created")); //var s = await s3.GetObjectAsStringAsync(bucket, "myobject"); //System.Diagnostics.Debug.WriteLine (String.Format("{0} read", s)); //await s3.DeleteObjectAsync(bucket, "myobject"); //System.Diagnostics.Debug.WriteLine (String.Format("Object myobject deleted")); await s3.PutObjectAsync(bucket, name, imageData, progress : l => lbl.Text = string.Format("Uploaded {0}%", (100 * l) / imageData.Length)); //await s3.DeleteObjectAsync(bucket, name); //await s3.DeleteBucketAsync(bucket); //System.Diagnostics.Debug.WriteLine (String.Format("Empty bucket {0} deleted", bucket)); lbl.Text = "Upload successful!"; System.Diagnostics.Debug.WriteLine("Success"); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.Message); //return false; } //return true; }
protected override void OnCreate(Bundle bundle) { var re = (HttpWebRequest) WebRequest.Create(string.Format("http://{0}.s3.amazonaws.com/{1}", "bucket", "name")); re.AllowWriteStreamBuffering = false; base.OnCreate(bundle); // Set our view from the "main" layout resource SetContentView(Resource.Layout.Main); // Get our button from the layout resource, // and attach an event to it Button button = FindViewById <Button>(Resource.Id.MyButton); button.Click += async delegate { button.Text = "In progress"; string key = "AKIAIFT26MYLVAFP7QXQ"; string secret = "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"; var random = new Random(); var s3 = new S3(key, secret); var bucket = "ahsscoutphotos"; try { await s3.CreateBucketAsync(bucket); button.Text = String.Format("Bucket {0} created", bucket); await s3.PutObjectAsync(bucket, "myobject", "Hello World"); button.Text = String.Format("Object myobject created"); var s = await s3.GetObjectAsStringAsync(bucket, "myobject"); button.Text = String.Format("{0} read", s); await s3.DeleteObjectAsync(bucket, "myobject"); button.Text = String.Format("Object myobject deleted"); var dummyData = new byte[1000000]; await s3.PutObjectAsync(bucket, "big", dummyData, progress : l => button.Text = string.Format("Upload {0}%", (100 * l) / dummyData.Length)); await s3.DeleteObjectAsync(bucket, "big"); await s3.DeleteBucketAsync(bucket); button.Text = String.Format("Empty bucket {0} deleted", bucket); button.Text = "Success"; } catch (S3Exception ex) { new AlertDialog.Builder(this) .SetPositiveButton("Ok", (_, __) => { }) .SetMessage(ex.Message) .SetTitle("Error") .Show(); button.Text = "Click me"; } }; }