Example #1
0
        /// <inheriteddoc />
        protected override void OnProcessJsonRequest(IHttpRequest request, ref dynamic result)
        {
            var contentLength = request.Request.Headers["Content-Length"];

            if (string.IsNullOrWhiteSpace(contentLength))
            {
                result.code = 1;

                return;
            }

            long length;

            if (long.TryParse(contentLength.Trim(), out length) == false)
            {
                result.code = 2;
                return;
            }

            if (length < 0)
            {
                result.code = 3;

                return;
            }

            var filename = request.GetAppRequestHeader("Filename");

            if (string.IsNullOrWhiteSpace(filename))
            {
                result.code = 4;

                return;
            }

            var fullPath = filename.Trim();

            var dir = request.User.Directory.FileSystem.GetDirectory(Path.GetDirectoryName(fullPath));

            if (dir == null)
            {
                result.code = 5;

                return;
            }

            filename = Path.GetFileName(fullPath);

            dir.UploadFile(filename,
                           request.GetBufferlessInputStream(),
                           length);
        }