Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 验证已上载到azure blob的视频的持续时间_.net_Azure_Video_Azure Web App Service_Azure Storage Blobs - Fatal编程技术网

.net 验证已上载到azure blob的视频的持续时间

.net 验证已上载到azure blob的视频的持续时间,.net,azure,video,azure-web-app-service,azure-storage-blobs,.net,Azure,Video,Azure Web App Service,Azure Storage Blobs,我正在构建一个应用程序,用户可以上传一个关于自己的简短肖像视频,以便在社区内进行推广。关键词很短。我想阻止用户上传1小时的史诗 我已经试着找出一种在客户端验证这一点的方法,但由于所有可用的视频格式,我决定在服务器端进行验证。 这是我碰到下一堵墙的地方 我通过引用将用户的视频分块上传到blob存储中(预计会有大文件)。此后,这些文件将被复制到与azure media services帐户链接的另一个存储中 在上传和复制到第二个存储器之间,我要验证持续时间。从我尝试的libs(Accord、NRec

我正在构建一个应用程序,用户可以上传一个关于自己的简短肖像视频,以便在社区内进行推广。关键词很短。我想阻止用户上传1小时的史诗

我已经试着找出一种在客户端验证这一点的方法,但由于所有可用的视频格式,我决定在服务器端进行验证。 这是我碰到下一堵墙的地方

我通过引用将用户的视频分块上传到blob存储中(预计会有大文件)。此后,这些文件将被复制到与azure media services帐户链接的另一个存储中

在上传和复制到第二个存储器之间,我要验证持续时间。从我尝试的libs(AccordNRecoMediaToolkit)来看,所有这些都以某种方式失败(不支持在azure网站上运行,不支持从blob或类似问题中读取)


所以我现在有点困了。有没有人知道如何做到这一点而不必首先通过azure media services进行编码?

我只需上传到
%TEMP%
(扩展到
d:\local\TEMP
)。这是应用程序服务中的本地存储。所有这些lib都应该针对本地文件系统工作,包括我个人最喜欢的文件系统

对于标准层,似乎有足够的空间,以下是报告:

所以


用每晚的WebJob清理
%TEMP%
,以说明陈旧/不完整的上载(即删除超过6小时的文件),以防您对文件系统的删除调用由于不可预见的原因不时失败。

感谢您的输入。我没有意识到我可以使用一个“本地”临时文件夹,因为我将Web应用程序视为一项服务。我一定会尝试一下。我有一个小的修改要做,你的解决方案是对单服务器实例的现场。对于负载平衡的环境,根据上载过程的不同,它可能不起作用。只是为具有类似结构的人提供的信息。默认情况下,你在应用程序服务中启用了
ARRAffinity
cookie,因此客户端会坚持它首先命中的任何实例。只要客户端发回cookie,就不会有问题。这与应用程序堆栈(Node/.NET/where)无关,因为路由机制位于前端层。更多信息请参见此页-感谢您的支持,我没有意识到azure提供了此功能,因为我对整个azure环境仍然很陌生(但是每天学习新的东西会让我们成长,非常好)
d:\local usage: 230,397 MB total; 188,630 MB free
upload file
    |
    |                         too long?
check length with video lib ------------- notify user, cleanup local storage
    |
    | all good?
    | 
async upload to blob storage (Media Services)
    |
async cleanup local storage