【发布时间】:2012-11-02 14:58:19
【问题描述】:
我有一个简单的MVC 操作,它返回一个指向视频的FilePathResult。由于某种原因HTML5 视频(使用js-video.js)没有播放视频。如果我将 URL 更改为我知道有效的 URL,则视频可以正常播放。所以这一定与我提供文件的方式有关。
如果我在浏览器中浏览到 URL,视频会下载然后正常播放。
视频为.mp4,返回的MIME 类型为video/mp4。
我正在使用Video Studio 2012、.NET 4、IIS 8 Express 和Windows 7 x64 Home Premium。
这是我各自的代码:
[Authorize(Roles = "File_Read")]
public FileResult Get(int? id)
{
try
{
if (id == null)
throw new ArgumentNullException("id");
var fileRepo = FileRepositoryFactory.Repository;
var file = fileRepo.GetById(id.Value);
if (file == null)
throw new InvalidOperationException(String.Format("Failed to find file with id: {0}", id));
if (String.IsNullOrWhiteSpace(file.FilePath))
{
return this.File(file.Data, file.MIMEType, file.FileName);
}
else
{
return this.File(file.FilePath, file.MIMEType, file.FileName);
}
}
catch (Exception ex)
{
return this.File("failed.txt", "text/plain");
}
}
这是Chrome 返回的屏幕截图:
【问题讨论】:
标签: c# asp.net asp.net-mvc html html5-video