コード例 #1
0
        public async Task UploadFile_Accepted()
        {
            var client = await _factory.CreateAuthenticatedClient();

            _fileMetadataRepository.CreateFileMetadata(Arg.Any <FileMetadata>())
            .Returns(call => call.Arg <FileMetadata>());

            var fileBytes = Encoding.UTF8.GetBytes("test");
            var fileName  = "image.png";
            var response  = await client.PostAsync("/api/v2/file", new MultipartFormDataContent
            {
                { new ByteArrayContent(fileBytes), "files", fileName },
                { new ByteArrayContent(Encoding.UTF8.GetBytes("test2")), "files", "image2.jpg" }
            });

            var uploadedFiles = await response.EnsureSuccessStatusCode()
                                .Content.ReadAsAsync <List <FileMetadata> >();

            Assert.Equal(2, uploadedFiles.Count);

            var file = uploadedFiles.First();

            Assert.Equal(fileName, file.Name);
            Assert.Equal(fileBytes.Length, file.FileSize);
        }
コード例 #2
0
ファイル: FileService.cs プロジェクト: vit-svoboda/PV247-API
        public async Task <FileMetadata> UploadFile(string userId, string fileName, long fileSize, Stream fileStream)
        {
            var metadata = await _metadataRepository.CreateFileMetadata(new FileMetadata
            {
                Id        = Guid.NewGuid(),
                CreatedBy = userId,
                Extension = Path.GetExtension(fileName),
                FileSize  = fileSize,
                Name      = fileName
            });

            await _blobRepository.UploadFile(metadata, fileStream);

            return(metadata);
        }