我正在开发一个ASP.NET MVC 5应用程序,用户可以上传视频。我注意到一个问题,有时候找不到视频,因为它们似乎有重复的文件扩展名。
令我困惑的是调试器里面我得到了正确的路径......
C:\Users\MyUser\Documents\visual studio 2013\Projects\MyStructures\MyStructures\Content\Videos\bbb.mp4
但它没有显示在Visual Studio的内容文件夹中。
当我使用文件资源管理器打开该文件夹时,文件就在那里。
显示视频的代码从数据库中提取文件名。
@if (!string.IsNullOrEmpty(post.VideoFileName))
{
<div>
<video width="400" controls>
<source src="~/Content/Videos/@post.VideoFileName" type="video/mp4">
<source src="~/Content/Videos/@post.VideoFileName" type="video/ogg">
<source src="~/Content/Videos/@post.VideoFileName" type="video/webm">
<p>Your browser does not support HTML5 video.</p>
</video></div>
}
如何使用C#检查并删除这些重复的文件扩展名?
答案 0 :(得分:5)
他们没有重复的扩展名。第一部分是应用程序注册的类型描述(“VLC媒体文件(.mp4)”),其中类型中的扩展名是VLC功能,第二部分显示实际扩展名“ (.MP4)”。尝试JPEG文件:“JPEG图像(.jpg)”或未知类型:“BAR文件(.bar)”。
我认为任何开发者都应该enable Explorer to display file extensions。打开资源管理器窗口,单击查看(或工具) - &gt;选项,转到“视图”选项卡,然后取消选中“隐藏已知类型的扩展名”。
你在这里解决了错误的问题。
默认情况下,磁盘上的文件不会显示在Visual Studio的解决方案资源管理器中。 To include an existing file,选择您的项目或文件夹,然后单击“显示所有文件”按钮。在那里,您将看到该文件,您可以右键单击它并选择“包含在项目中”。
答案 1 :(得分:2)
您有几种不同的方法,但您想要查看System.IO
命名空间。特别是,以下内容:
DirectoryInfo
FileInto
Microsoft Developer Network上的示例非常stellar。
你还没有提供任何代码,这让我很难回答,因为我做这项任务对你没有帮助。