Tag: mime types

用于多媒体内容的处理程序(MIME)不起作用

我正在使用一个在页面中呈现多媒体内容的处理程序。 这个想法是这个处理程序访问文件并使用扩展来确定类型,并且呈现它, 问题在于处理程序本身被下载并且多媒体没有被呈现的大多数时候。 这是代码: FileInfo file = new FileInfo(filePath); byte[] bytes = new byte[file.Length]; using (FileStream fs = file.OpenRead()) { fs.Read(bytes, 0, bytes.Length); } string extension = Path.GetExtension(filePath); string mimeDeclaration; if (“.tif” == extension) mimeDeclaration = “tiff”; string[] imagenes = new string[] {“.jpg”, “.jpeg”, “.bmp”, “.gif”, “.png”}; if (imagenes.Any(x => x.Contains(extension))) mimeDeclaration = extension.Substring(1); else […]

ASP.NET,C#,IIS,MIME类型,文件上传条件

我在网站上有一个文件上传网页表单,它只需要接受某些格式(或MIME类型)… 以下代码完美地工作,除了,它不会将.DOCX文件上传到服务器! 这是唯一不起作用的文件类型…我已经仔细检查了每一行代码,甚至已经进入IIS管理器以确保inheritance了.DOCX MIME类型,它们是…… 有没有人知道为什么.DOCX文件不会像其他文件类型一样上传到服务器? 代码片段: string savePath = “D:\\HIDDEN PATH HERE”; string fileMsg; // Before attempting to perform operations // on the file, verify that the FileUpload // control contains a file. if (FileUpload1.HasFile) { // Check to see that the content type is proper and allowed. // DOC: application/doc, appl/text, application/vnd.msword, application/vnd.ms-word, application/winword, […]

为什么reflection搜索突然找不到任何东西?

根据这个问题和答案,我有以下代码如何获取ASP.NET C#中请求的文件的MIME类型? 它工作得非常好: static MimeMappingWrapper() { // dirty trick – Assembly.LoadWIthPartialName has been deprecated //Assembly ass = Assembly.LoadWithPartialName(“System.Web”); Assembly ass = Assembly.GetAssembly(typeof (HttpApplication)); Type mimeMappingType = ass.GetType(“System.Web.MimeMapping”); GetMimeMappingMethod = mimeMappingType.GetMethod(“GetMimeMapping”, BindingFlags.Static | BindingFlags.NonPublic); } 现在突然mimeMappingType.GetMethod(“GetMimeMapping”, BindingFlags.Static | BindingFlags.NonPublic)返回null 。 可能是什么原因? 在应用程序中没有更改任何特殊内容,即使它是,它如何影响包装类的这个构造函数?

为什么Urlmon.dll中的FindMimeFromData函数会为许多文件类型返回MIME类型“application / octet-stream”?

为什么Urlmon.dll中的FindMimeFromData函数会为许多文件类型返回MIME类型“application / octet-stream”,而通过文件扩展名(即针对Windows注册表)检查MIME类型会返回更精确的类型? 例如,mp3是“application / octet-stream”而不是“audio / mp3”。 基本上,我想validation一个扩展名不正确的上传文件。 这种方法似乎适用于许多图像文件,xml等。 问题与此类似,但由于返回的MIME类型不同/不明确,所提供的解决方案不适合validation上传的文件。

IE8不会下载具有启用UAC的自定义mime /类型的文件

我在本地计算机上运行.net服务(Windows 7 x64,IE8,.net 3.5,C#),它将文件返回给浏览器以响应用户操作。 使用firefox或chrome,文件正确下载,我们的应用程序通过自定义mime类型启动,一切都很好。 但是,使用IE8,我收到一个“无法从中下载文件的对话框。无法打开此网站。请求的网站不可用或无法找到。请稍后再试”。 使用fiddler,我validation了IE确实从服务接收了有效负载。 如果我关闭UAC,IE会下载该文件并启动相关的应用程序。 关闭UAC不是一个可行的解决方案,因为我们的客户将启用它。 如何让IE8在启用UAC的情况下启动相关应用程序? 编辑: 在使用此处所述的编程ID重新注册mime类型后,我可以让IE打开显示“打开或保存”对话框,以便在第二次从地址栏请求链接时。 为什么它第一次不起作用?

如何根据文件头识别doc,docx,pdf,xls和xlsx

如何根据C#中的文件头识别doc,docx,pdf,xls和xlsx? 我不想依赖文件扩展名MimeMapping.GetMimeMapping,因为这两者中的任何一个都可以被操作。 我知道如何阅读标题,但不知道如果文件是doc,docx,pdf,xls或xlsx,字节的组合可以说。 有什么想法吗?

确定MAC上传流文件的MIME类型

我有一个简单的Web表单,通过.NET C#发送和发送电子邮件。 另外还有一个ASP UPLOAD ctrl,我从中创建一个内存流并将流附加到邮件消息…即不需要将文件保存到文件系统。 问题:当MAC用户不对其上传的文件进行扩展时(我正在测试PostedFile.ContentType以确定文件和/或适当的扩展名,允许的文件RTF,TXT,PDF,DOC,DOCX),看起来ContentType又回来了“application / octet”……这对我来说没有PC的要求,但对我来说是有意义的; 仍然不清楚天气读取ContentType或扩展是一种更好的方法来确定我附加之前它是什么类型的文件。 [无扩展MAC文件显然会失败任何扩展测试] 基本上,我从上传ctrl中读取文件,确定它的ContentType是什么,只删除PostedFile.Filename,然后在我使用switch语句中的ContentType字符串创建附件时重新组合,以确定并向附加文件添加正确的扩展名(filename + ext)。 我这样做是为了确保不使用扩展的MAC用户仍然无需上传创建.ZIP或其他包。 问题1:关于解决这个问题,最佳做法,我的逻辑是否正确? 问题2:当不在MAC上使用扩展时,所有MAC文件是否将返回为“application / octect”,如果是,那么有人如何确定它实际上是什么类型的文件? (注意:在MAC平台上不使用扩展时,PDF工作正常)。 提前致谢。 如果需要代码示例请告知。

在ASP.NET 5中使用MimeMapping(vNext)

我正在尝试将我的旧mvc5项目移动到mvc6。 旧代码是: public string ContentType { get { if (!string.IsNullOrEmpty(FileName)) return MimeMapping.GetMimeMapping(FileName); return null; } } 错误是 当前上下文中不存在名称“MimeMapping”

替代Urlmon.dll中具有更多MIME类型的FindMimeFromData方法

通过Windows DLL Urlmon.dll可访问的FindMimeFromData方法能够确定存储在内存中的给定数据的MIME类型,考虑到存储此类数据的字节数组的前256个字节。 然而,在阅读了它的文档后,我在Windows Internet Explorer中引导了MIME类型检测,在那里我可以找到此方法能够识别的MIME类型。 见清单 。 如您所见,此方法仅限于26种MIME类型。 所以我想知道是否有人能指出我有更多MIME类型的另一种方法,或者另外一种方法/类我可以包含我认为合适的MIME类型。 谢谢。