public static UploadProgressStatistic GetStatistic(string id) { UploadProgressStatistic us; if (!Statistics.TryGetValue(id, out us)) us = new UploadProgressStatistic(); return us; }
public static UploadProgressStatistic GetStatistic(string id) { UploadProgressStatistic us; if (!Statistics.TryGetValue(id, out us)) { us = new UploadProgressStatistic(); } return(us); }
public override void OnProcessRequest(HttpContext context) { if (!string.IsNullOrEmpty(context.Request["submit"])) { FileUploadHandler.FileUploadResult result; try { var uploadHandler = (FileUploadHandler)Activator.CreateInstance(Type.GetType(context.Request["submit"], true)); result = uploadHandler.ProcessUpload(context); } catch (Exception ex) { result = new FileUploadHandler.FileUploadResult { Success = false, Message = ex.Message.HtmlEncode(), }; } //NOTE: Don't set content type. ie cant parse it context.Response.StatusCode = 200; context.Response.Write(JavaScriptSerializer.Serialize(result)); } else { context.Response.ContentType = "application/json"; var id = context.Request.QueryString[UploadProgressStatistic.UploadIdField]; var us = UploadProgressStatistic.GetStatistic(id); if (!string.IsNullOrEmpty(context.Request["limit"])) { var limit = long.Parse(context.Request["limit"]); if (us.TotalBytes > limit) { us.ReturnCode = 1; us.IsFinished = true; } } context.Response.Write(us.ToJson()); } }
internal EntityBodyInspector(HttpUploadWorkerRequest request) { _statistic = new UploadProgressStatistic { TotalBytes = request.GetTotalEntityBodyLength() }; var contentType = request.GetKnownRequestHeader(HttpWorkerRequest.HeaderContentType); var boundary = string.Format("--{0}\r\n", UploadProgressUtils.GetBoundary(contentType)); _boundaryWaiter = new EntityBodyChunkStateWaiter(boundary, false); _boundaryWaiter.MeetGuard += BoundaryWaiterMeetGuard; _current = _boundaryWaiter; _boundaryInfoWaiter = new EntityBodyChunkStateWaiter("\r\n\r\n", true); _boundaryInfoWaiter.MeetGuard += BoundaryInfoWaiterMeetGuard; _formValueWaiter = new EntityBodyChunkStateWaiter("\r\n", true); _formValueWaiter.MeetGuard += FormValueWaiterMeetGuard; _lastCdName = string.Empty; }
internal EntityBodyInspector(HttpUploadWorkerRequest request) { _statistic = new UploadProgressStatistic { TotalBytes = request.GetTotalEntityBodyLength() }; var contentType = request.GetKnownRequestHeader(HttpWorkerRequest.HeaderContentType); var boundary = string.Format("--{0}\r\n", UploadProgressUtils.GetBoundary(contentType)); _boundaryWaiter = new EntityBodyChunkStateWaiter(boundary, false); _boundaryWaiter.MeetGuard += BoundaryWaiterMeetGuard; _current = _boundaryWaiter; _boundaryInfoWaiter = new EntityBodyChunkStateWaiter("\r\n\r\n", true); _boundaryInfoWaiter.MeetGuard += BoundaryInfoWaiterMeetGuard; _formValueWaiter = new EntityBodyChunkStateWaiter("\r\n", true); _formValueWaiter.MeetGuard += FormValueWaiterMeetGuard; _lastCdName = string.Empty; }