public partial class WebForm1 : System.Web.UI.Page
{
const string defaultPath = @"C:\files";
private static string fileName = String.Empty;
protected void Page_Load(object sender, EventArgs e)
{
this.AsyncFileUpload.UploadedComplete += new EventHandler<AjaxControlToolkit.AsyncFileUploadEventArgs>(AsyncFileUpload_UploadedComplete);
if (Page.IsPostBack)
{
CheckStatus();
}
}
void AsyncFileUpload_UploadedComplete(object sender, AjaxControlToolkit.AsyncFileUploadEventArgs e)
{
switch (e.State)
{
case AjaxControlToolkit.AsyncFileUploadState.Success:
SaveUploadedFile(ref e);
break;
case AjaxControlToolkit.AsyncFileUploadState.Failed:
SetErrorOnLabel();
break;
case AjaxControlToolkit.AsyncFileUploadState.Unknown:
SetErrorOnLabel();
break;
}
}
void SaveUploadedFile(ref AjaxControlToolkit.AsyncFileUploadEventArgs e)
{
fileName = Guid.NewGuid().ToString() + e.FileName;
this.AsyncFileUpload.SaveAs(defaultPath + fileName);
}
void SetErrorOnLabel()
{
this.mainLabel.Text = "Error";
}
void CheckStatus()
{
bool doesExist = System.IO.File.Exists(defaultPath + fileName);
if (doesExist) this.mainLabel.Text = fileName + @" has been uploaded to the " + defaultPath + fileName;
else this.mainLabel.Text = "Error";
}
}
cHVibGljIHBhcnRpYWwgY2xhc3MgV2ViRm9ybTEgOiBTeXN0ZW0uV2ViLlVJLlBhZ2UKICAgIHsKICAgICAgICBjb25zdCBzdHJpbmcgZGVmYXVsdFBhdGggPSBAIkM6XGZpbGVzIjsKICAgICAgICBwcml2YXRlIHN0YXRpYyBzdHJpbmcgZmlsZU5hbWUgPSBTdHJpbmcuRW1wdHk7CgogICAgICAgIHByb3RlY3RlZCB2b2lkIFBhZ2VfTG9hZChvYmplY3Qgc2VuZGVyLCBFdmVudEFyZ3MgZSkKICAgICAgICB7CiAgICAgICAgICAgIHRoaXMuQXN5bmNGaWxlVXBsb2FkLlVwbG9hZGVkQ29tcGxldGUgKz0gbmV3IEV2ZW50SGFuZGxlcjxBamF4Q29udHJvbFRvb2xraXQuQXN5bmNGaWxlVXBsb2FkRXZlbnRBcmdzPihBc3luY0ZpbGVVcGxvYWRfVXBsb2FkZWRDb21wbGV0ZSk7CgogICAgICAgICAgICBpZiAoUGFnZS5Jc1Bvc3RCYWNrKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBDaGVja1N0YXR1cygpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB2b2lkIEFzeW5jRmlsZVVwbG9hZF9VcGxvYWRlZENvbXBsZXRlKG9iamVjdCBzZW5kZXIsIEFqYXhDb250cm9sVG9vbGtpdC5Bc3luY0ZpbGVVcGxvYWRFdmVudEFyZ3MgZSkKICAgICAgICB7CiAgICAgICAgICAgIHN3aXRjaCAoZS5TdGF0ZSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgY2FzZSBBamF4Q29udHJvbFRvb2xraXQuQXN5bmNGaWxlVXBsb2FkU3RhdGUuU3VjY2VzczoKICAgICAgICAgICAgICAgICAgICBTYXZlVXBsb2FkZWRGaWxlKHJlZiBlKTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgQWpheENvbnRyb2xUb29sa2l0LkFzeW5jRmlsZVVwbG9hZFN0YXRlLkZhaWxlZDoKICAgICAgICAgICAgICAgICAgICBTZXRFcnJvck9uTGFiZWwoKTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgQWpheENvbnRyb2xUb29sa2l0LkFzeW5jRmlsZVVwbG9hZFN0YXRlLlVua25vd246CiAgICAgICAgICAgICAgICAgICAgU2V0RXJyb3JPbkxhYmVsKCk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHZvaWQgU2F2ZVVwbG9hZGVkRmlsZShyZWYgQWpheENvbnRyb2xUb29sa2l0LkFzeW5jRmlsZVVwbG9hZEV2ZW50QXJncyBlKQogICAgICAgIHsKICAgICAgICAgICAgZmlsZU5hbWUgPSBHdWlkLk5ld0d1aWQoKS5Ub1N0cmluZygpICsgZS5GaWxlTmFtZTsKICAgICAgICAgICAgdGhpcy5Bc3luY0ZpbGVVcGxvYWQuU2F2ZUFzKGRlZmF1bHRQYXRoICsgZmlsZU5hbWUpOwogICAgICAgIH0KCiAgICAgICAgdm9pZCBTZXRFcnJvck9uTGFiZWwoKQogICAgICAgIHsKICAgICAgICAgICAgdGhpcy5tYWluTGFiZWwuVGV4dCA9ICJFcnJvciI7CiAgICAgICAgfQoKICAgICAgICB2b2lkIENoZWNrU3RhdHVzKCkKICAgICAgICB7CiAgICAgICAgICAgIGJvb2wgZG9lc0V4aXN0ID0gU3lzdGVtLklPLkZpbGUuRXhpc3RzKGRlZmF1bHRQYXRoICsgZmlsZU5hbWUpOwogICAgICAgICAgICBpZiAoZG9lc0V4aXN0KSB0aGlzLm1haW5MYWJlbC5UZXh0ID0gZmlsZU5hbWUgKyBAIiBoYXMgYmVlbiB1cGxvYWRlZCB0byB0aGUgIiArIGRlZmF1bHRQYXRoICsgZmlsZU5hbWU7CiAgICAgICAgICAgIGVsc2UgdGhpcy5tYWluTGFiZWwuVGV4dCA9ICJFcnJvciI7CiAgICAgICAgfQogICAgfQ==