public void Should_Get_Mime_Type_Without_Dot(string key, string expected)
        {
            _mimeTypeMap.GetMimeType(key).ShouldBe(expected);

            _mimeTypeMap.TryGetMimeType(key, out var output).ShouldBe(true);
            output.ShouldBe(expected);
        }
Example #2
0
        private AddFileCommand MapRequestToCommand(AddFileRequest request, Stream content)
        {
            if (request == null)
            {
                return(null);
            }

            var contentType = mimeTypeMap.GetMimeType(request.File.FileName)
                              ?? mimeTypeMap.GetMimeType(request.FileName);

            return(new AddFileCommand(request.FileName, request.Description, contentType, content));
        }
        public async Task <ActionResult> DownloadBinaryFile(Guid id, string contentType, string fileName)
        {
            var fileObject = await _binaryObjectManager.GetOrNullAsync(id);

            if (fileObject == null)
            {
                return(StatusCode((int)HttpStatusCode.NotFound));
            }

            if (fileName.IsNullOrEmpty())
            {
                if (!fileObject.Description.IsNullOrEmpty() &&
                    !Path.GetExtension(fileObject.Description).IsNullOrEmpty())
                {
                    fileName = fileObject.Description;
                }
                else
                {
                    return(StatusCode((int)HttpStatusCode.BadRequest));
                }
            }

            if (contentType.IsNullOrEmpty())
            {
                if (!Path.GetExtension(fileName).IsNullOrEmpty())
                {
                    contentType = _mimeTypeMap.GetMimeType(fileName);
                }
                else
                {
                    return(StatusCode((int)HttpStatusCode.BadRequest));
                }
            }

            return(File(fileObject.Bytes, contentType, fileName));
        }