Example #1
0
        private void StartUpload(FileInfo file)
        {
            _uploadedFile = file;
            _fileStream   = _uploadedFile.OpenRead();
            _dataLength   = _fileStream.Length;
            var pathofAttachment      = AttachmentPath.Split('/').LastOrDefault();
            var dataToSend            = _dataLength - _dataSent;
            var isLastChunk           = dataToSend <= ChunkSize;
            var isFirstChunk          = _dataSent == 0;
            var httpHandlerUrlBuilder = new UriBuilder(string.Format("{0}/FileUpload.ashx", _baseUri));

            httpHandlerUrlBuilder.Query = string.Format("{4}file={0}&offset={1}&last={2}&first={3}&Folder={5}",
                                                        pathofAttachment, _dataSent, isLastChunk, isFirstChunk,
                                                        string.IsNullOrEmpty(httpHandlerUrlBuilder.Query) ? "" : httpHandlerUrlBuilder.Query.Remove(0, 1) + "&", FolderPath);

            var webRequest = (HttpWebRequest)WebRequest.Create(httpHandlerUrlBuilder.Uri);

            webRequest.Method = "POST";
            webRequest.BeginGetRequestStream(WriteToStreamCallback, webRequest);
        }