public EncFileUpload(IInternalDracoonClient client, string actionId, FileUploadRequest request, Stream input, UserPublicKey publicKey,
                             long fileSize) : base(client, actionId, request, input, fileSize)
        {
            _userPublicKey = publicKey;

            LogTag = nameof(EncFileUpload);
        }
        public async void UploadOneFile()
        {
            // To upload a file you need to provide the path of the file and the BusinessType where it's going to be uploaded.
            // Also, if you have a multitenant-token, the tenantId needs to be provided.

            #region Custom parameters

            var tenantId       = "MyTenantId"; // Only necessary for multi-tenant token.
            var businessTypeId = 0;            // Use the desired businessType.

            #endregion

            _output.WriteTittle("Executing Streaming.SDK example: Upload one file by Stream");

            // Configure the file that is going to be uploaded.
            var fileContent = "Cats have contributed to the extinction of 33 different species. Humans might be the next ones.";
            var ms          = new MemoryStream(Encoding.UTF8.GetBytes(fileContent));

            var request = new FileUploadRequest
            {
                Name           = "testStreamFile.txt",
                BusinessTypeId = businessTypeId
            };

            // Upload the file.
            var uploadResult = await Streaming.UploadFileAsync(request, ms, tenantId : tenantId);

            Assert.IsType <FileUploadInfo>(uploadResult);
            Assert.Equal(request.Name, uploadResult.Name);
            Assert.Equal(ms.Length, uploadResult.Size);

            // Print the result.
            _output.WriteLine("File was uploaded:");
            _output.WriteJson(uploadResult);
        }
        public PrivateApiResponse <FileUploadResponse> Upload(string filePath, string recordId, string resourceId, string contentType, bool isSublist)
        {
            var fileName = filePath.Split('/').Last();
            var content  = Util.ReadFileAsBase64String(System.IO.Path.Combine(Util.GetTestDirectory(), filePath));

            var request = new FileUploadRequest
            {
                Metadata = new FileUploadRequest.MetadataClass
                {
                    FileName   = fileName,
                    RecordId   = recordId,
                    ResourceId = resourceId,
                    FileMime   = contentType,
                    FileSize   = null,
                    Sublist    = isSublist ? "1" : "0"
                },
                Content = content
            };

            var stringRequest = ConvertToJsonString(request, null);

            using (var step = LogHelper.LoggerForCurrentTest.EnterReproStep("Uploading file"))
            {
                return(ProcessResponseWithContent <FileUploadResponse>(Connection.SendAsync(EndPoint, stringRequest, HttpMethod.Post).Result));
            }
        }
Example #4
0
        public void StartUploadFileAsync(string actionId, FileUploadRequest request, Stream input, long fileSize = -1,
                                         IFileUploadCallback callback = null)
        {
            FileUpload upload = CreateFileUploadInternally(actionId, request, input, fileSize, callback);

            upload.RunAsync();
        }
Example #5
0
        /// <summary>
        /// 上传模板文件
        /// </summary>
        public void uploadTemplate()
        {
            try
            {
                FileUploadRequest fileUploadRequest = new FileUploadRequest("D://telmplate//劳动合同模板.pdf", "劳动合同模板.pdf", FileType.template, "00765245060136194048");

                FileUploadResponse response = client.fileUpload(fileUploadRequest);

                Console.WriteLine("上传模板文件-响应数据:" + JSONUtil.getJsonStringFromObject(response));
            }
            catch (SignApplicationException sae)
            {
                // 捕获网关校验数据
                Console.WriteLine("上传模板文件-网关异常状态码为:" + sae.return_code);
                Console.WriteLine("上传模板文件-网关异常信息为:" + sae.return_message);
            }
            catch (SignServerException sse)
            {
                // 捕获网关校验数据
                Console.WriteLine("上传模板文件-业务异常状态码为:" + sse.result_code);
                Console.WriteLine("上传模板文件-业务异常信息为:" + sse.result_message);
            }
            catch (Exception e)
            {
                Console.WriteLine("上传模板文件-异常:" + e.Message);
            }
        }
Example #6
0
        /// <summary>
        /// 文件上传
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public FileUploadResponse fileUpload(FileUploadRequest request)
        {
            if (
                request.fileData == null || request.fileData.Length == 0 ||
                request.fileDataName == null || request.fileDataName.Trim() == string.Empty
                )
            {
                BaseSignResponse baseSignResponse = new BaseSignResponse();
                baseSignResponse.result_code    = "4001";
                baseSignResponse.result_message = "参数校验异常";
                throw new SignServerException("参数校验异常", baseSignResponse, null);
            }

            FileInfo info = new FileInfo();

            info.fileData = request.fileData;
            info.fileName = request.fileName;
            info.key      = "file";

            Dictionary <string, string> @params = new Dictionary <string, string>();

            @params.Add("file_type", request.fileType);
            @params.Add("file_name", request.fileName);
            @params.Add("user_id", request.userId);
            FileUploadResponse fileUploadResponse = base.FileUpload <FileUploadResponse>(ApiUrlConstant.FileManager.FileUpload, info, @params);

            return(fileUploadResponse);
        }
Example #7
0
        public FileResponse Upload(FileUploadRequest request)
        {
            var requestParams = this.request.BuildRequestParams(request);
            var response      = this.request.ExecuteAndDeserializeRequest <FileResponse>("/files.upload", requestParams, file: request);

            return(response);
        }
Example #8
0
        private void toolStripButtonUploadFile_Click(object sender, EventArgs e)
        {
            if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                System.IO.Stream stream = openFileDialog1.OpenFile();

                byte[] fileContents;
                fileContents = System.IO.File.ReadAllBytes(openFileDialog1.FileName);

                if (fileContents.Length > 512 * 1024 * 1024)
                {
                    MessageBox.Show("File is too large beyond of PLM360's file limitation: 512M");
                    return;
                }

                FileUploadRequest fileUpReq = new FileUploadRequest
                {
                    fileName    = System.IO.Path.GetFileName(openFileDialog1.FileName),
                    title       = System.IO.Path.GetFileNameWithoutExtension(openFileDialog1.FileName),
                    description = "This is a file uploaded by PLM360 REST API"
                };

                foreach (ListViewItem lvi in lvItems.SelectedItems)
                {
                    Item item = (Item)lvi.Tag;
                    plmSvc.AddFile(item.workspaceId, item.id, fileUpReq, fileContents);
                }
            }
        }
Example #9
0
        /// <summary>
        ///  百度语音验证
        /// </summary>
        public void baiduVideoVerify()
        {
            BaiDuAiFaceVideoVerifyRequest request = new BaiDuAiFaceVideoVerifyRequest();

            request.session_id = "01562e5349b0a4044a23784dc707d46f";

            try
            {
                FileUploadRequest fileUploadRequest = new FileUploadRequest("D://video//我的视频.mp4", "我的视频.mp4");
                request.video_file = fileUploadRequest.fileData;                //建议视频大小控制在10M/1min以内

                BaiDuAiFaceVideoVerifyResponse response = client.Auth.baiduVideoVerify(request);
                Console.WriteLine("百度语音验证-响应数据:" + JSONUtil.getJsonStringFromObject(response));
            }
            catch (SignApplicationException sae)
            {
                // 捕获网关校验数据
                Console.WriteLine("百度语音验证-网关异常状态码为:" + sae.return_code);
                Console.WriteLine("百度语音验证-网关异常信息为:" + sae.return_message);
            }
            catch (SignServerException sse)
            {
                // 捕获网关校验数据
                Console.WriteLine("百度语音验证-业务异常状态码为:" + sse.result_code);
                Console.WriteLine("百度语音验证-业务异常信息为:" + sse.result_message);
            }
            catch (Exception e)
            {
                Console.WriteLine("百度语音验证-异常为:" + e.Message);
            }
        }
        public async Task FileUploadService_UploadFile_ReturnsCurropted()
        {
            var wc  = new Mock <IWorkContext>();
            var cId = 123;

            wc.Setup(w => w.CurrentUserId).Returns(cId);
            var ah = new Mock <AuditHelper>(wc.Object);

            var vFactory = new Mock <IFileHandlerFactory>();

            vFactory.Setup(v => v.IsSupportedExtension(It.IsAny <string>())).Returns(() => true);
            vFactory.Setup(v => v.Validate(It.IsAny <string>(), It.IsAny <byte[]>())).Returns(() => FileStatusCode.Corrupted);

            var uReq = new FileUploadRequest
            {
                FileName = "ttt.txt",
                Bytes    = new byte[] { 1, 1, 1, 1, 1 }
            };

            var sessionRepo = new Mock <IFileUploadSessionRepository>();

            sessionRepo.Setup(s => s.Create(It.IsAny <FileUploadSessionModel>()))
            .Callback <FileUploadSessionModel>(n => n.Id = 123);

            var uMgr  = new FileUploadService(vFactory.Object, null, null, null, sessionRepo.Object, null, ah.Object);
            var upRes = await uMgr.UploadAsync(new[] { uReq });

            var res = upRes.First();

            res.Status.ShouldBe(FileStatusCode.Corrupted);
            res.WasUploaded.ShouldBeFalse();
        }
Example #11
0
        public async Task CreateFileUploadTest()
        {
            var apiClientMock = new Mock <IApiClient>();
            var signMock      = new Mock <ISignService>();
            var configMock    = new Mock <IConfigurationProvider>();

            configMock.Setup <string>(x => x.GetUploadsUrl()).Returns("https://example2.com");
            SecurionPayGateway gateway = new SecurionPayGateway(apiClientMock.Object, configMock.Object, signMock.Object);

            var request = new FileUploadRequest()
            {
                File = new byte[1] {
                    233
                },
                FileName = "test.jpg",
                Purpose  = SecurionPay.Enums.FileUploadPurpose.DisputeEvidence
            };

            await gateway.CreateFileUpload(request);

            apiClientMock.Verify <Task <FileUpload> >(api => api.SendMultiPartRequest <FileUpload>(
                                                          It.Is <HttpMethod>(method => method == HttpMethod.Post),
                                                          It.Is <string>(action => action == configMock.Object.GetUploadsUrl() + "/files"),
                                                          It.Is <Dictionary <string, string> >(dictionary => dictionary.Any(p => p.Key == "purpose" && p.Value == "dispute_evidence")),
                                                          It.Is <byte[]>(array => array[0] == 233),
                                                          It.Is <string>(f => f == "test.jpg"))
                                                      , Times.Once);
        }
Example #12
0
        public void TestUploadFile()
        {
            // 接口请求
            FileUploadRequest request = new FileUploadRequest();
            // 请求参数
            GoodsParam param = new GoodsParam();

            // 属性赋值
            param.goods_name = "iphone6";

            // 设置请求参数
            request.Param = param;

            List <UploadFile> files = new List <UploadFile>();

            files.Add(new UploadFile("headImg", @"D:\1.txt"));
            files.Add(new UploadFile("idcardImg", @"D:\2.txt"));
            request.Files = files;

            // 发送请求,返回结果
            FileUploadResponse response = client.Execute <FileUploadResponse>(request);

            if (response.IsSuccess())
            {
                Assert.IsTrue(response.data != null);
            }
            else
            {
                throw new SystemException(response.msg);
            }
        }
Example #13
0
        private void PerformParameterTestForUploadOperation(FileUploadRequest reqeust, int expectedErrorCode, bool isExpectedSuccess)
        {
            var handler = new DefaultManager();

            var str = Newtonsoft.Json.JsonConvert.SerializeObject(reqeust).Replace("/n", Environment.NewLine).Replace("/0", '\u0000'.ToString());

            PrivateApiResponse <FileUploadResponse> response = null;

            using (LogHelper.LoggerForCurrentTest.EnterReproStep("Send an upload file request with special string parameter's value."))
            {
                response = handler.Send <FileUploadResponse>(FileStorageManager.EndPoint, str, HttpMethod.POST);
            }
            try
            {
                if (isExpectedSuccess)
                {
                    PrAssert.That(response, PrIs.SuccessfulResponse());
                }
                else
                {
                    PrAssert.That(response, PrIs.ErrorResponse().And.ErrorCode(expectedErrorCode).And.HttpCode(400));
                }
            }
            finally
            {
                var id = response?.Result?.Id;
                if (id != null)
                {
                    new FileStorageManager().Delete(id);
                }
            }
        }
Example #14
0
        public IActionResult Create(FileUploadRequest request)
        {
            if (request == null)
            {
                return(this.BadRequest());
            }

            AccountSasBuilder sas = new AccountSasBuilder
            {
                // Allow access to blobs
                Services = AccountSasServices.Blobs,

                // Allow access to the service level APIs
                ResourceTypes = AccountSasResourceTypes.Object,

                // Access expires in 1 hour!
                ExpiresOn = DateTimeOffset.UtcNow.AddHours(1),
                StartsOn  = DateTimeOffset.UtcNow.AddSeconds(-30)
            };

            sas.SetPermissions(AccountSasPermissions.Write | AccountSasPermissions.Create | AccountSasPermissions.Delete);

            StorageSharedKeyCredential credential = new StorageSharedKeyCredential(_accountName, _key);

            var container = new BlobContainerClient(_connectionString, "photos");

            var blob = container.GetBlobClient(request.FileName);

            var result = new UriBuilder(blob.Uri);

            result.Query = sas.ToSasQueryParameters(credential).ToString();

            return(this.Ok(result.Uri.ToString()));
        }
Example #15
0
        public static DataResponse Upload(FileUploadRequest request, string checkSum)
        {
            var dataResponse = new DataResponse(false, -1);

            try
            {
                using (var fileStream = new FileStream(request.VirtualPath, FileMode.Open, FileAccess.Read))
                {
                    request.DataStream = fileStream;
                    using (var sc = new MainUpdateSourceServiceClient("BasicHttpBinding_IMainUpdateSourceService", ApplicationContext.MainUpdateSourceUrl))
                    {
                        bool status;
                        //Return Task<MessageResult>
                        var strResult = sc.UploadFile(checkSum, request.Name, request.SecurityKey,
                                                      request.VirtualPath, request.DataStream, out status);
                        dataResponse = RequestResponseUtils.GetData <DataResponse>(strResult);
                    }
                }
            }
            catch (Exception ex)
            {
                dataResponse.Message = ex.Message;
                //Log
                _log.Error("ServiceManager.Upload Error", ex);
            }
            return(dataResponse);
        }
        public void Execute()
        {
            var request = new FileUploadRequest(_fileBasicInfo.FileName,
                                                _fileBasicInfo.FileBytes, _receiverNumber);

            _serverConnection.SendFileUploadRequest(request);
        }
Example #17
0
        /// <summary>
        /// Handelt de bestand upload af.
        /// </summary>
        /// <param name="request"></param>
        /// <param name="client"></param>
        private void HandleFileUploadRequest(FileUploadRequest request, Client client)
        {
            FileStateObject state = new FileStateObject(client, request.File);

            Receive(client, state.Buffer, 0, FileStateObject.BufferSize, 0, ReceiveFileCallback, state);
            //client.Socket.BeginReceive(state.Buffer, 0, FileStateObject.BufferSize, 0, ReceiveFileCallback, state);
        }
Example #18
0
        private void FileUploadRequestHandler(FileUploadRequest request)
        {
            FileUploadResponse response = new FileUploadResponse(request);

            if (request.CurrentPosition == 0)
            {
                EventArguments.FileUploadRequestEventArguments args = new EventArguments.FileUploadRequestEventArguments(() =>
                {
                    //Confirm File Upload
                    response.DestinationFilePath = request.DestinationFilePath;
                    SendMessage(response);
                },
                                                                                                                         () =>
                {
                    //Refuse File Upload
                    response.HasError  = true;
                    response.Exception = new Exception("The file upload request was refused by the user!");
                    SendMessage(response);
                });

                args.Request = request;
                OnFileUploadRequest(args);
            }
            else
            {
                Helpers.FileHelper.AppendAllBytes(request.DestinationFilePath, request.BytesToWrite);
                SendMessage(response);
                OnUploadFileProgress(new EventArguments.FileUploadProgressEventArguments()
                {
                    CurrentPosition = request.CurrentPosition, FileName = request.FileName, TotalBytes = request.TotalBytes, DestinationPath = request.DestinationFilePath
                });
            }
        }
Example #19
0
        /// <summary>
        /// 文件上传
        /// </summary>
        /// <param name="VirtualPath"></param>
        /// <param name="file"></param>
        /// <param name="extension"></param>
        /// <returns></returns>
        public static OperationResult <string> UpLoadFile(string VirtualPath, HttpPostedFileBase file, string extension)
        {
            try
            {
                var fileContent = default(byte[]);
                var ism         = file.InputStream;
                using (var ms = new MemoryStream())
                {
                    ism.CopyTo(ms);
                    ms.Flush();
                    fileContent = ms.ToArray();
                }

                using (Tuhu.Service.Utility.FileUploadClient fileUploadClient = new Tuhu.Service.Utility.FileUploadClient())
                {
                    var fileUploadRequest = new FileUploadRequest
                    {
                        Contents      = fileContent,
                        DirectoryName = VirtualPath,
                        Extension     = "." + extension
                    };
                    var result = fileUploadClient.UploadFile(fileUploadRequest);
                    return(result);
                }
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Example #20
0
        public async Task <IActionResult> UploadFile(string fileId = null, string fileName = null, string contentType = null, string description = null)
        {
            if (Request.Form.Files.Count != 1)
            {
                return(BadRequest("This endpoint requires 1 file."));
            }

            var file = Request.Form.Files.Single();

            fileName    = !string.IsNullOrEmpty(fileName) ? fileName : file.FileName;
            fileId      = !string.IsNullOrEmpty(fileId) ? fileId : fileName.Replace(" ", "_");
            contentType = !string.IsNullOrEmpty(contentType) ? contentType : file.ContentType;

            var saveFileRequest = new FileUploadRequest
            {
                FileId      = fileId,
                FileName    = fileName,
                ContentType = contentType,
                File        = file,
                Description = description
            };

            var fileSaved = await filesService.SaveFile(basePath, saveFileRequest);

            if (fileSaved)
            {
                return(Ok("The file was uploaded."));
            }
            return(Conflict("There was a problem uploading the file."));
        }
Example #21
0
        private FileUpload CreateFileUploadInternally(string actionId, FileUploadRequest request, Stream input, long fileSize = -1,
                                                      IFileUploadCallback callback = null)
        {
            _client.Executor.CheckApiServerVersion();

            #region Parameter Validation

            CheckUploadActionId(actionId);
            request.MustNotNull(nameof(request));
            request.ParentId.MustPositive(nameof(request.ParentId));
            request.Name.MustNotNullOrEmptyOrWhitespace(nameof(request.Name));
            input.CheckStreamCanRead(nameof(input));

            #endregion

            FileUpload upload;
            if (IsNodeEncrypted(request.ParentId))
            {
                UserKeyPair keyPair = _client.AccountImpl.GetAndCheckUserKeyPair();
                upload = new EncFileUpload(_client, actionId, request, input, keyPair.UserPublicKey, fileSize);
            }
            else
            {
                upload = new FileUpload(_client, actionId, request, input, fileSize);
            }

            _runningUploads.Add(actionId, upload);
            upload.AddFileUploadCallback(callback);
            upload.AddFileUploadCallback(this);
            return(upload);
        }
Example #22
0
        /// <summary>
        /// 文件验章V2
        /// </summary>
        public void checkFileV2()
        {
            try
            {
                FileUploadRequest fileUploadRequest = new FileUploadRequest("D://contract//签署完成合同.pdf", "签署完成合同.pdf");

                SignCheckFileV2Request request = new SignCheckFileV2Request();
                request.fileData     = fileUploadRequest.fileData;
                request.fileDataName = fileUploadRequest.fileDataName;

                SignCheckFileV2Response signCheckFileResponse = client.SignCheck.CheckFileV2(request);
                Console.WriteLine("文件验章V2-响应数据:" + JSONUtil.getJsonStringFromObject(signCheckFileResponse));
            }
            catch (SignApplicationException sae)
            {
                // 捕获网关校验数据
                Console.WriteLine("文件验章V2-网关异常状态码为:" + sae.return_code);
                Console.WriteLine("文件验章V2-网关异常信息为:" + sae.return_message);
            }
            catch (SignServerException sse)
            {
                // 捕获网关校验数据
                Console.WriteLine("文件验章V2-业务异常状态码为:" + sse.result_code);
                Console.WriteLine("文件验章V2-业务异常信息为:" + sse.result_message);
            }
            catch (Exception e)
            {
                Console.WriteLine("文件验章V2-异常为:" + e.Message);
            }
        }
Example #23
0
        public JsonResult Upload(FileUploadRequest model)
        {
            var files = Request.Files;

            string             path       = "";
            string             type       = "";
            string             fileName   = "";
            var                folderPath = $"C:\\inetpub\\wwwroot\\static\\import\\{model.Type}";
            HttpPostedFileBase file;

            switch (files.Count)
            {
            case 1:
                file     = files[0];
                type     = file.FileName.Substring(file.FileName.LastIndexOf('.'));
                fileName = $"{model.IdolName}{model.Key}.{type}";
                path     = $"{folderPath}\\{fileName}";
                file.SaveAs(path);        //将上传的东西保存
                using (StreamWriter sw = new StreamWriter(GetJsonFile(model.Type), true, Encoding.UTF8))
                {
                    switch (model.Type)
                    {
                    case "Painting":
                        sw.WriteLine(JsonConvert.SerializeObject(new UploadTypeJsonPainting()
                        {
                            author = "",
                            url    = path,
                            weibo  = model.Weibo
                        }));
                        break;

                    case "Photo":
                        sw.WriteLine(JsonConvert.SerializeObject(new UploadTypeJsonPhoto()
                        {
                            title = model.Key,
                            img   = path,
                            from  = model.IdolName
                        }));
                        break;

                    case "Emoji":
                        sw.WriteLine(fileName);
                        break;

                    default:
                        break;
                    }
                }
                return(Json(true));

            default:
                for (int i = 0; i < files.Count; i++)
                {
                    file = files[i];
                    path = $"{folderPath}\\{model.IdolName}{model.Key}{i}.{file.FileName.Substring(file.FileName.LastIndexOf('.'))}";
                    file.SaveAs(path);      //将上传的东西保存
                }
                return(Json(true));
            }
        }
Example #24
0
        protected async Task <byte[]> SendAsync(FileUploadRequest fortnoxRequest)
        {
            var boundary = "----boundary" + new Random().Next();
            var content  = new MultipartFormDataContent(boundary);

            var fileContent = new ByteArrayContent(fortnoxRequest.FileData);

            fileContent.Headers.Add("Content-Type", "application/octet-stream");
            var headerValue = "form-data; name=\"Filedata\"; filename=\"" + fortnoxRequest.FileName + "\"";

            //Issue: file name can contain special characters e.g. "äöå", HttpClient follows strict HTTP standard for headers encoding, while server expects pure UTF-8
            // Workaround inspired by https://stackoverflow.com/questions/21928982/how-to-disable-base64-encoded-filenames-in-httpclient-multipartformdatacontent
            var bytes = Encoding.UTF8.GetBytes(headerValue);
            var chars = bytes.Select(b => (char)b).ToArray();

            headerValue = new string(chars);
            //-------------End of workaround-------------//

            fileContent.Headers.Add("Content-Disposition", headerValue);
            content.Add(fileContent, "Filedata", fortnoxRequest.FileName);

            var httpRequest = new HttpRequestMessage(HttpMethod.Post, fortnoxRequest.AbsoluteUrl);

            httpRequest.Content = content;

            return(await SendAsync(httpRequest).ConfigureAwait(false));
        }
Example #25
0
        /// <summary>
        /// 上传印章文件
        /// </summary>
        public void uploadSeal()
        {
            try
            {
                FileUploadRequest fileUploadRequest = new FileUploadRequest("D:/seal/seal.png", "我的印章.png", FileType.impression, "00765245060136194048");

                FileUploadResponse response = client.fileUpload(fileUploadRequest);

                Console.WriteLine("上传印章文件-响应数据:" + JSONUtil.getJsonStringFromObject(response));
            }
            catch (SignApplicationException sae)
            {
                // 捕获网关校验数据
                Console.WriteLine("上传印章文件-网关异常状态码为:" + sae.return_code);
                Console.WriteLine("上传印章文件-网关异常信息为:" + sae.return_message);
            }
            catch (SignServerException sse)
            {
                // 捕获网关校验数据
                Console.WriteLine("上传印章文件-业务异常状态码为:" + sse.result_code);
                Console.WriteLine("上传印章文件-业务异常信息为:" + sse.result_message);
            }
            catch (Exception e)
            {
                Console.WriteLine("上传印章文件-异常:" + e.Message);
            }
        }
        public void ExecuteAndDeserializeRequestHandlesComplexRequest()
        {
            var token       = "xxx";
            var path        = "/root";
            var jsonPayload = "{\"json\": \"result\"";

            var dictionaryParams = new Dictionary <string, string>
            {
                { "foo", "bar" }
            };

            var fileRequest = new FileUploadRequest
            {
                Title    = "file",
                Filename = "file.txt",
                FileData = new byte[10]
            };

            var restResponse = new RestResponse();

            restResponse.Content = jsonPayload;

            var mockRestClient = new Mock <IRestClient>();

            mockRestClient.Setup(r => r.Execute(It.IsAny <IRestRequest>()))
            .Callback <IRestRequest>(r =>
            {
                Assert.Equal(1, r.Files.Count);
                Assert.Equal(fileRequest.Title, r.Files[0].Name);
                Assert.Equal(fileRequest.Filename, r.Files[0].FileName);
                Assert.Equal(fileRequest.FileData.Length, r.Files[0].ContentLength);
                Assert.Equal(Method.PUT, r.Method);
                Assert.Equal(path, r.Resource);
                Assert.Equal(2, r.Parameters.Count);
                Assert.Equal(token, r.Parameters.First(p => p.Name == "token").Value);
                Assert.Equal("bar", r.Parameters.First(p => p.Name == "foo").Value);
            })
            .Returns(restResponse)
            .Verifiable();

            var mockParser = new Mock <IResponseParser>();

            mockParser.Setup(p => p.Deserialize <TestParams>(jsonPayload))
            .Returns(new TestParams {
                MyInt = 90
            })
            .Verifiable();

            var subject = new RestSharpRequestHandler(token);

            subject.RestClient     = mockRestClient.Object;
            subject.ResponseParser = mockParser.Object;

            var result = subject.ExecuteAndDeserializeRequest <TestParams>(path, dictionaryParams, HttpMethod.PUT, fileRequest);

            Assert.Equal(90, result.MyInt);
            mockParser.Verify();
            mockRestClient.Verify();
        }
        public async Task <IActionResult> UploadTemplate([FromForm] FileUploadRequest request)
        {
            await using var stream = request.File.OpenReadStream();

            await _vmTemplateService.UploadTemplate(DatabaseContext, request.Name, GetUser(), stream, request.File.Length);

            return(Ok());
        }
Example #28
0
        public FileUploadResponse FileUpload(FileUploadRequest req)
        {
            var rep     = new FileUploadResponse();
            var context = httpContextAccessor.HttpContext;
            var files   = context.Request.Form.Files;

            return(rep);
        }
Example #29
0
        public PrivateApiResponse <FileUploadResponse> Upload(FileUploadRequest request, Func <JToken, JToken> transformation = null)
        {
            var stringRequest = ConvertToJsonString(request, transformation);

            using (var step = LogHelper.LoggerForCurrentTest.EnterReproStep("Uploading file"))
            {
                return(ProcessResponseWithContent <FileUploadResponse>(Connection.SendAsync(EndPoint, stringRequest, HttpMethod.Post).Result));
            }
        }
        public void FileUploadRequestTests_GetsExtensionWithoutDot()
        {
            var r = new FileUploadRequest
            {
                FileName = "ccc.e"
            };

            r.Extension.SequenceEqual("e");
        }
Example #31
0
 // TODO Move to separate service.
 private FileUploadResponse StoreImage(FileUploadRequest request)
 {
     var uploadId = Guid.NewGuid().ToString();
     var filename = Path.Combine(GetUploadDirectory(), uploadId);
     using (FileStream fileStream = new FileStream(filename, FileMode.Create))
     {
         request.File.Value.CopyTo(fileStream);
     }
     return new FileUploadResponse()
     {
         Id = uploadId
     };
 }
 public void Execute()
 {
     var request = new FileUploadRequest(_fileBasicInfo.FileName,
         _fileBasicInfo.FileBytes, _receiverNumber);
     _serverConnection.SendFileUploadRequest(request);
 }