MP4内容类型在不同的浏览器中以不同的MIME类型返回
我有一个使用C#构建的ASP.NET应用程序.我有一个表格可以上传PDF并检查MIME类型,应用程序/PDF,以验证其是一个有效的文件.我需要在MP4文件的单独表单上执行此操作,但似乎不起作用.它总是返回错误.我检查了WebKit中返回的MIME类型FileUpload.postedfile.contenttype,这是完全准确的.但是,Firefox 5和IE 8分别测试了文本/CSV和Application/Octet-stream.这对我来说绝对没有意义.我还尝试了将扩展名映射到Web.config文件中正确的MIME类型的映射:
10 2024-04-26
编程技术问答社区
什么是vcalendar的正确mime类型?
我正在尝试为NFC标签创建VCALENDAR,但是正确的MIME类型是什么?应该是这样的 Windowsmime:Writetag.text/vcalendar windowsmime:writetag.text/x-vcalendar 但是当我尝试阅读标签时,提示消息是"对不起,您的手机无法识别此类型的文件" 解决方案 您如何创建文件?有一个用于.net的BSD许可的iCal类库,称为 dday.ical 其他解决方案 VCALENDAR的类型似乎是text/x-vcalendar(来源: for icalendar (新格式),答案为text/calendar(源: rfc5545 ). icalendar本质上是vcalendar格式的v2.0.如果格式的v2.0为新版本的格式引入了一种新的MIME类型,那么我从来没有清楚格式的旧版本是否也获得了新的MIME类型. IANA注册表也无济于事.
12 2024-04-23
编程技术问答社区
Zip的MIME类型似乎未被识别
我正在尝试返回zip文件,作为浏览器上的流.这可以与其他类型的文件(例如Excel文件)一起使用,但是当我开始处理ZIP文件时,我无法让浏览器识别它是zip. Firefox和IE在测试机器提示下运行,询问使用哪个程序打开文件. Explorer设置为zip文件关联的默认值. ie不会报告太多,但是Firefox告诉我文件类型是 应用程序/zip 据我所知,这是zip文件的正确MIME类型.我唯一没有设置的是扩展名,因此该文件仅称为"测试"而不是" test.zip",但据我所知,所有这些都应该用MIME类型来弄清楚. 有人对可能发生的事情有任何想法吗? 解决方案 您应该发送文件,确保包含文件扩展名: Content-disposition: attachment; filename=Test.zip 作为标头. 在C#中: Response.ContentType = "application/zip"; Response.Ad
6 2024-04-23
编程技术问答社区
无法让ASP.NET web api消费一个未指定的内容类型
我试图让Web API(控制器)消耗http Post请求,其中客户端未指定Appact/ContentType标头. 我在控制器中有2种方法 - 一种消耗文本/普通(旧版),另一种消耗应用程序/json(新).问题是我们有期望基于文本的请求/响应的旧环境,但他们没有用请求指定内容类型.由于这些环境将在一段时间内不会升级,因此我不确定如何强制将文本/平原作为默认媒体类型处理. 当我在不指定内容类型的情况下进行请求时,我会得到"不支持的媒体类型"错误. 消费属性不支持空介质类型. 解决方案 我能够通过使用MVC代码作为模板创建自定义"消费"属性来解决这种情况. 属性: using System; using System.Collections.Generic; using System.Linq; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.Abstractions;
0 2024-04-22
编程技术问答社区
为什么反思搜索会突然找不到任何东西?
我有以下代码,根据这个质量和答案 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 | Bind
0 2024-04-21
编程技术问答社区
asp.net, c#, iis, mime types, file upload conditional
我在网站上有一个文件上传Web形式,它只需要接受某些格式(或MIME类型)... 以下代码正常工作,除了它不会将.docx文件上传到服务器!那是唯一不起作用的文件类型...我已仔细检查了每条代码,甚至进入了IIS管理器以确保.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 allow
8 2024-04-19
编程技术问答社区
使用Response.TransmitFile()下载.xlsx文件。
我正在处理一些生成Excel电子表格服务器端的代码,然后将其下载给用户.我正在使用 excelpackage 生成文件. 这一代人正常工作.我可以使用Excel 2007打开生成的文件,没有任何问题.但是,我用Response.TransmitFile(). 下载文件遇到了麻烦 现在,我有以下代码: //Generate the file using ExcelPackage string fileName = generateExcelFile(dataList, "MyReportData"); Response.AddHeader("content-disposition", "attachment;filename=FileName.xls"); Response.ContentType = "application/vnd.xls" Response.Charset = ""; Response.TransmitFile(fileName); 当Excel
4 2024-04-18
编程技术问答社区
Windows注册表中的MIME类型
在我的Windows服务中,我正在尝试根据文件扩展名来设置MIME类型,如下所示 static string GetMimeType(string fileName) { string mimeType = "application/unknown"; string ext = Path.GetExtension(fileName).ToLower(); Microsoft.Win32.RegistryKey regKey = Microsoft.Win32.Registry.ClassesRoot.OpenSubKey(ext); if (regKey != null && regKey.GetValue("Content Type") != null) mimeType = regKey.GetValue("Content Type").ToString(); return mimeType; }
6 2024-04-15
编程技术问答社区
为什么Urlmon.dll的FindMimeFromData函数对许多文件类型返回MIME类型 "application/octet-stream"?
为什么findmimefromdata从urlmon.dll返回MIME类型的许多文件类型的"应用程序/钟表 - 流",而通过文件扩展程序检查MIME类型(即针对Windows注册表)返回更精确的类型? 例如,mp3是"应用程序/八位字节",而不是"音频/mp3". 基本上,我想用不正确的扩展名验证上传的文件.此方法似乎适用于许多图像文件,XML等. 这个问题类似于" ,但是由于返回了不同/模棱两可的MIME类型,提供的解决方案不适合验证上传的文件. 解决方案 阅读 FindmimeFromdata 带我到 Internet Explorer中的Mime类型检测 .根据这些信息,很难找到 26不同的哑剧类型,在当今世界很小. "音频/mp3"不是其中之一. FindMimeFromData 包含(当前26)单独的MIME类型的硬编码测试(请参阅已知的MIME类型).这意味着,如果给定的缓冲区包含以下一种MIME类型的格式的数据,则在FindMimeFrom
14 2024-04-15
编程技术问答社区
确定MAC上传流文件的MIME类型
我有一个简单的Web表单,该表单通过.NET C#发送和发送电子邮件.此外,还有一个ASP上传CTRL,我从中创建一个内存流并将流连接到邮件消息...即无需将文件保存到文件系统. 问题:当Mac用户不在其上传文件上插入扩展时(我正在测试Postfile.ContentType以确定文件和/或适当的扩展名,允许文件RTF,TXT,PDF,DOC,DOC,DOC,DOC,DOC,DOC,DOCX),它似乎像ContentTypepe回到"应用程序/八位字" ...这对我来说是有意义的,没有PC的要求,但是;尚不清楚天气阅读内容类型或扩展是确定我附加之前确定哪种文件类型的更好方法. [无扩展Mac文件显然会失败任何扩展测试] 基本上,我从上载ctrl读取文件,确定其contentType是什么,只是剥离postfile.filename,然后在我使用contentType字符串在开关语句中创建附件时重新组装,以确定并将正确的扩展名添加到附加文件(文件名 + ext).我这样做是为了
6 2024-04-14
编程技术问答社区
Excel XML的MIME-类型(ASP.NET 3.5)
我使用CarloSag-dll,为我创建XML-Excel-File(内存). Response.ContentType = "application/vnd.ms-excel"; Response.AppendHeader("content-disposition", "myfile.xml"); memory.WriteTo(Response.OutputStream); 我的问题是,我在客户端a myfile.xls(ie)或myfile.xml.xls(ff),因此从Excel中获取令人讨厌的安全性警告. 我也使用application/vnd.openxmlformats ofcecument.spreadsheetml.sheet(xlsx)尝试了一下. 因此,我需要剪切.xml并将其发送为vnd.ms-excel(如何?)或采用另一个哑光型(但是哪一个?). 编辑:我找到了一个错误描述>这里 我想知道这是否仍然开放,为什么? 解决方案 使
2 2024-04-13
编程技术问答社区
Windows Azure-服务在Windows Azure IIS存储中的未知(mp4)MIME类型
我有一个Windows Azure部署(一个Web-lole),该部署可应要求将一对视频文件(MOV和MP4)从Azure存储中拉到其自己的本地IIS存储中,然后通过浏览器访问. 听起来可能很愚蠢,但是我有充分的理由这样做. 不幸的是,我无法访问MP4文件. MOV很好,但是MP4给我" 404-未找到文件或目录." 我已经研究了这一点,这似乎是因为IIS不会返回未知的文件类型,并且MP4必须属于此类别.如果这是普通的IIS服务器,我将能够注册MP4 MIME类型,但是我不知道该如何在Windows Azure中进行此操作. 我可以手动进行手动进行操作,但这是不实际的,因为角色经常被替换,这意味着我需要每次手动进行手动进行.必须通过一个配置文件或代码中的一个进行完成. 任何人可以帮忙吗? 谢谢! 史蒂文 解决方案 您可以在web.config中添加自定义MIME类型吗?我只是遇到了此链接: http://www.iis.net/Co
0 2024-04-12
编程技术问答社区
如何根据文件头识别doc、docx、pdf、xls和xlsx
如何根据C#中的文件标头识别DOC,DOCX,PDF,XLS和XLSX? 我不想依靠文件扩展名.为此,getMimapping可以操纵两者. 我知道如何读取标题,但不知道字节的组合可以说明文件是DOC,DOCX,PDF,XLS或XLSX. 有任何想法吗? 解决方案 这个问题包含一个使用文件的第一个字节来确定文件类型的示例:这是一个很长的帖子,所以我在下面发布相关答案: public class MimeType { private static readonly byte[] BMP = { 66, 77 }; private static readonly byte[] DOC = { 208, 207, 17, 224, 161, 177, 26, 225 }; private static readonly byte[] EXE_DLL = { 77, 90 }; private static readonly byte[] GI
38 2024-04-12
编程技术问答社区
在ASP.NET Core中使用MimeMapping
我正在尝试将我的旧MVC5项目移至ASP Net Core. 旧代码是: public string ContentType { get { if (!string.IsNullOrEmpty(FileName)) return MimeMapping.GetMimeMapping(FileName); return null; } } 错误是 当前上下文中不存在名称" mimemapping" 解决方案 以下代码应起作用: string contentType; new FileExtensionContentTypeProvider().TryGetContentType(FileName, out contentType); return contentType ?? "application/octet-stream"; 其他解决方案 有一个nuget软件包 mim
24 2024-04-11
编程技术问答社区
Urlmon.dll中的FindMimeFromData方法的替代品,它有更多的MIME类型。
但是,在阅读了文档后,我被导致 Windows Internet Explorer中的MIME类型检测我可以找到该方法能够识别的MIME类型.请参阅 list .如您所见,此方法仅限于26种MIME类型. 所以我想知道是否有人可以将我指向另一种模仿类型的方法,或者是其他方法/类,我可以包括我认为适合的哑剧类型. 解决方案 更新:@getox采用了此代码,并将其包装在.NET Core的Nuget软件包中!请参阅下面,欢呼! 所以我想知道是否有人可以用 更多的哑剧类型,或者是另一种方法/类是我 能够包括我认为适合的哑剧类型. 我使用winista和urlmon的混合体检测上传的文件的真实格式. winista mime检测 说某人使用JPG扩展名重命名EXE,您仍然可以使用二进制分析确定"真实"文件格式.它无法检测到SWF或FLV,但几乎可以执行所有其他知名的格式 +您可以获得十六进制编辑器并添加更多可以检测到的文件. 文件魔术 winis
6 2024-04-11
编程技术问答社区
使用.NET,如何根据文件签名而不是扩展名找到文件的mime类型?
我正在寻找一种简单的方法来获取文件扩展名不正确或不给出的模拟类型,类似于这个问题仅在.net中. 解决方案 在urlmon.dll中,有一个称为FindMimeFromData的函数. 来自文档 MIME类型检测或"数据嗅探"是指从二进制数据中确定适当的MIME类型的过程.最终结果取决于服务器提供的MIME类型标头,文件扩展名和/或数据本身的组合.通常,只有前256个字节很重要. 因此,从文件中读取第一个(最多)256个字节,然后将其传递给FindMimeFromData. 其他解决方案 我最终使用了urlmon.dll.我认为会有一种更简单的方法,但这有效.我包括代码来帮助其他任何人,并允许我在需要的情况下再次找到它. using System.Runtime.InteropServices; ... [DllImport(@"urlmon.dll", CharSet = CharSet.Auto)] private e
8 2024-04-10
编程技术问答社区
Rails 4.0.2依赖于旧的mime-types(~>1.16)版本
我与Mechanize Gem(2.7.3)有一个兼容性问题,因为它取决于Mime-Types 2.0,而Rails 4.0.2取决于Mime-Types版本(〜> 1.16). . Bundler could not find compatible versions for gem "mime-types": In Gemfile: rails (= 4.0.2) ruby depends on mime-types (~> 1.16) ruby mechanize (= 2.7.3) ruby depends on mime-types (2.0) 是否有一种方法可以"更新"对最新版本的Mime-types? "更新"导轨依赖性 解决方案 铁轨对哑光类型〜> 1.16的依赖是因为轨道取决于邮件宝石. 不幸的是,您唯一的选项是降级以机械化2.7.2(可与Mime-Types> = 1.17.2,〜> 1.17一起使用
14 2024-04-05
编程技术问答社区
部署Angular项目错误类型MIME(text/html)。
我尝试部署Angular/CLI 6.12.0项目. 当我将" DIST"文件夹内容放在服务器上时,会有一个控制台错误 "键入哑剧". Le chargement du module à l’adresse « http://www.sylvainallain.fr/polyfills-es2015.fd917e7c3ed57f282ee5.js » a été bloqué en raison d’un type MIME interdit (« text/html »). Le chargement du module à l’adresse « http://www.sylvainallain.fr/main-es2015.2fcd6517edb1de962f8a.js » a été bloqué en raison d’un type MIME interdit (« text/html »). Le chargement du module à l’adresse
6 2024-04-05
编程技术问答社区
favicon.ico的正确MIME类型?
根据 Internet分配的数字授权(IANA),所有.ICO文件都属于Mime Type image/vnd.microsoft.icon. ( source ) 例如. 但是,精明的互联网大师,保罗·爱尔兰,声称这是错误的,实际上是image/x-icon. (例如. 我知道您可以逃脱不包括.ICO文件的"类型",但是如果您要包含一个,那应该是什么?实际上将其作为官方IANA类型有什么问题? 解决方案 当您提供一个.ICO文件以用作Favicon时,没关系.所有主要的浏览器都正确识别两种MIME类型.因此,您可以说:
2 2024-04-03
编程技术问答社区
我如何在主要的浏览器中把自定义的MIME类型与我的本地应用程序联系起来?
我想发明一种新的MIME类型,并将其与浏览器中的自定义应用程序相关联,以使用户能够从网页启动我的应用程序.我安全网站的用户处于封闭环境中,这意味着这不是通用的主流应用程序 - 我可以提前配置其浏览器. spoon.net 做一些非常相似的事情,与启动使用其Mini-Kernel插件启动虚拟化应用程序. 答案之一这个问题暗示了这种方法,没有有关如何完成的详细信息. 如何以Chrome和IE 8/9的跨平台方式实现这一目标?有没有一种方法可以通过本机或 crossrider 来进行Mime-Type关联? Adobe Reader或Apple QuickTime之类的应用如何实现这一目标?我想尽可能避免触摸注册表. 与此方法有什么风险?我的网站是具有证书并受到用户信任的Intranet Web应用程序.有什么原因我不应该走这条路? 编辑:显然,这可以通过操纵 mimeTypes来实现. RDF文件. edit :看起来像是一种基于Java的机制,可用于同一
16 2024-04-03
编程技术问答社区