Exemplo n.º 1
0
        public void MimeTypeReverseMappingUnavailable()
        {
            var original  = "image/foobar";
            var extension = MimeTypeNames.GetExtension(original);

            Assert.AreEqual("", extension);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Gets the filename of the content-disposition header or
        /// alternatively via a path analysis together with the MIME type.
        /// </summary>
        /// <param name="response">The response to extend.</param>
        /// <returns>The determined file name.</returns>
        public static String GetAttachedFileName(this IResponse response)
        {
            var dispositionFileName = default(String);

            if (response.Headers.TryGetValue(HeaderNames.ContentDisposition, out var disposition))
            {
                dispositionFileName = GetFileNameFromDisposition(disposition);
            }

            var filename          = dispositionFileName ?? response.Address.Path.Split('/').LastOrDefault() ?? "_";
            var standardExtension = Path.GetExtension(filename);

            if (String.IsNullOrEmpty(standardExtension))
            {
                var type      = response.GetContentType(MimeTypeNames.Binary).Content;
                var extension = MimeTypeNames.GetExtension(type);
                return(filename + extension);
            }


            return(filename);
        }