Beispiel #1
0
        public override UploadResult Upload(Stream stream, string fileName)
        {
            UploadResult        result = new UploadResult();
            CustomUploaderInput input  = new CustomUploaderInput(fileName, "");

            CustomUploaderRequestFormat requestFormat = uploader.GetRequestFormat(CustomUploaderDestinationType.FileUploader);

            if (requestFormat == CustomUploaderRequestFormat.MultipartFormData)
            {
                result = SendRequestFile(uploader.GetRequestURL(input), stream, fileName, uploader.GetFileFormName(),
                                         uploader.GetArguments(input), uploader.GetHeaders(input), null, uploader.ResponseType, uploader.RequestType);
            }
            else if (requestFormat == CustomUploaderRequestFormat.Binary)
            {
                result.Response = SendRequest(uploader.RequestType, uploader.GetRequestURL(input), stream, UploadHelpers.GetMimeType(fileName),
                                              uploader.GetArguments(input), uploader.GetHeaders(input), null, uploader.ResponseType);
            }
            else
            {
                throw new Exception("Unsupported request format.");
            }

            try
            {
                uploader.ParseResponse(result, input);
            }
            catch (Exception e)
            {
                Errors.Add(Resources.CustomFileUploader_Upload_Response_parse_failed_ + Environment.NewLine + e);
            }

            return(result);
        }
Beispiel #2
0
        public override UploadResult Upload(Stream stream, string fileName)
        {
            CustomUploaderArgumentInput input = new CustomUploaderArgumentInput(fileName, "");

            CustomUploaderRequestFormat requestFormat = uploader.GetRequestFormat(CustomUploaderDestinationType.ImageUploader);

            if (requestFormat == CustomUploaderRequestFormat.FormData)
            {
                UploadResult result = SendRequestFile(uploader.GetRequestURL(), stream, fileName, uploader.GetFileFormName(),
                                                      uploader.GetArguments(input), uploader.GetHeaders(input), null, uploader.ResponseType, uploader.GetHttpMethod());

                if (result.IsSuccess)
                {
                    try
                    {
                        uploader.ParseResponse(result);
                    }
                    catch (Exception e)
                    {
                        Errors.Add(Resources.CustomFileUploader_Upload_Response_parse_failed_ + Environment.NewLine + e);
                    }
                }

                return(result);
            }
            else
            {
                throw new Exception("Unsupported request format.");
            }
        }
Beispiel #3
0
        public override UploadResult ShareURL(string url)
        {
            UploadResult result = new UploadResult {
                URL = url, IsURLExpected = false
            };
            CustomUploaderArgumentInput input = new CustomUploaderArgumentInput("", url);

            CustomUploaderRequestFormat requestFormat = uploader.GetRequestFormat(CustomUploaderDestinationType.URLSharingService);

            if (requestFormat == CustomUploaderRequestFormat.FormData)
            {
                result.Response = SendRequestMultiPart(uploader.GetRequestURL(), uploader.GetArguments(input), uploader.GetHeaders(input), null,
                                                       uploader.ResponseType, uploader.GetHttpMethod());
            }
            else if (requestFormat == CustomUploaderRequestFormat.URLQuery)
            {
                result.Response = SendRequest(uploader.GetHttpMethod(), uploader.GetRequestURL(), uploader.GetArguments(input),
                                              uploader.GetHeaders(input), null, uploader.ResponseType);
            }
            else if (requestFormat == CustomUploaderRequestFormat.JSON)
            {
                result.Response = SendRequest(uploader.GetHttpMethod(), uploader.GetRequestURL(), uploader.GetData(input), UploadHelpers.ContentTypeJSON,
                                              uploader.GetArguments(input), uploader.GetHeaders(input), null, uploader.ResponseType);
            }
            else
            {
                throw new Exception("Unsupported request format.");
            }

            return(result);
        }
Beispiel #4
0
        public override UploadResult UploadText(string text, string fileName)
        {
            UploadResult result = new UploadResult();
            CustomUploaderArgumentInput input = new CustomUploaderArgumentInput(fileName, text);

            CustomUploaderRequestFormat requestFormat = uploader.GetRequestFormat(CustomUploaderDestinationType.TextUploader);

            if (requestFormat == CustomUploaderRequestFormat.FormData)
            {
                if (string.IsNullOrEmpty(uploader.FileFormName))
                {
                    result.Response = SendRequestMultiPart(uploader.GetRequestURL(), uploader.GetArguments(input),
                                                           uploader.GetHeaders(input), null, uploader.ResponseType, uploader.GetHttpMethod());
                }
                else
                {
                    byte[] bytes = Encoding.UTF8.GetBytes(text);
                    using (MemoryStream stream = new MemoryStream(bytes))
                    {
                        result = SendRequestFile(uploader.GetRequestURL(), stream, fileName, uploader.GetFileFormName(),
                                                 uploader.GetArguments(input), uploader.GetHeaders(input), null, uploader.ResponseType, uploader.GetHttpMethod());
                    }
                }
            }
            else if (requestFormat == CustomUploaderRequestFormat.URLQuery)
            {
                result.Response = SendRequest(uploader.GetHttpMethod(), uploader.GetRequestURL(), uploader.GetArguments(input),
                                              uploader.GetHeaders(input), null, uploader.ResponseType);
            }
            else if (requestFormat == CustomUploaderRequestFormat.JSON)
            {
                result.Response = SendRequest(uploader.GetHttpMethod(), uploader.GetRequestURL(), uploader.GetData(input), UploadHelpers.ContentTypeJSON,
                                              uploader.GetArguments(input), uploader.GetHeaders(input), null, uploader.ResponseType);
            }
            else
            {
                throw new Exception("Unsupported request format.");
            }

            try
            {
                uploader.ParseResponse(result);
            }
            catch (Exception e)
            {
                Errors.Add(Resources.CustomFileUploader_Upload_Response_parse_failed_ + Environment.NewLine + e);
            }

            return(result);
        }
Beispiel #5
0
        private CustomUploaderRequestFormat CheckRequestFormat(CustomUploaderRequestFormat format)
        {
            // For backward compatibility
            if (format == CustomUploaderRequestFormat.None)
            {
                if (RequestType == HttpMethod.POST)
                {
                    return(CustomUploaderRequestFormat.MultipartFormData);
                }
                else
                {
                    return(CustomUploaderRequestFormat.URLQueryString);
                }
            }

            return(format);
        }
Beispiel #6
0
        public override UploadResult ShortenURL(string url)
        {
            UploadResult result = new UploadResult {
                URL = url
            };
            CustomUploaderArgumentInput input = new CustomUploaderArgumentInput("", url);

            CustomUploaderRequestFormat requestFormat = uploader.GetRequestFormat(CustomUploaderDestinationType.URLShortener);

            if (requestFormat == CustomUploaderRequestFormat.MultipartFormData)
            {
                result.Response = SendRequestMultiPart(uploader.GetRequestURL(), uploader.GetArguments(input), uploader.GetHeaders(input), null,
                                                       uploader.ResponseType, uploader.RequestType);
            }
            else if (requestFormat == CustomUploaderRequestFormat.URLQueryString)
            {
                result.Response = SendRequest(uploader.RequestType, uploader.GetRequestURL(), uploader.GetArguments(input),
                                              uploader.GetHeaders(input), null, uploader.ResponseType);
            }
            else if (requestFormat == CustomUploaderRequestFormat.JSON)
            {
                result.Response = SendRequest(uploader.RequestType, uploader.GetRequestURL(), uploader.GetData(input), UploadHelpers.ContentTypeJSON,
                                              uploader.GetArguments(input), uploader.GetHeaders(input), null, uploader.ResponseType);
            }
            else if (requestFormat == CustomUploaderRequestFormat.FormURLEncoded)
            {
                result.Response = SendRequestURLEncoded(uploader.RequestType, uploader.GetRequestURL(), uploader.GetArguments(input),
                                                        uploader.GetHeaders(input), null, uploader.ResponseType);
            }
            else
            {
                throw new Exception("Unsupported request format.");
            }

            try
            {
                uploader.ParseResponse(result, true);
            }
            catch (Exception e)
            {
                Errors.Add(Resources.CustomFileUploader_Upload_Response_parse_failed_ + Environment.NewLine + e);
            }

            return(result);
        }