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
Azure媒体服务限制文件大小_Azure_Azure Media Services - Fatal编程技术网

Azure媒体服务限制文件大小

Azure媒体服务限制文件大小,azure,azure-media-services,Azure,Azure Media Services,查看Azure Media Service REST API,我看不到任何限制文件上载大小的方法: 例如,我希望用户直接将文件上载到azure,但将其限制为50mb。我不想首先通过服务器代理请求,因为这似乎是不必要的带宽使用 有可能在Azure上实现这一点吗?如果无法直接在Azure上执行此操作,那么间接限制文件上载大小的最佳方法是什么?从,可能类似的方法会起作用(最大64MB): 从中,可能会使用类似的方法(最大64MB): 如果不想代理上载,则需要使用浏览器端验证。HTML5有了答案 发件

查看Azure Media Service REST API,我看不到任何限制文件上载大小的方法:

例如,我希望用户直接将文件上载到azure,但将其限制为50mb。我不想首先通过服务器代理请求,因为这似乎是不必要的带宽使用

有可能在Azure上实现这一点吗?如果无法直接在Azure上执行此操作,那么间接限制文件上载大小的最佳方法是什么?

从,可能类似的方法会起作用(最大64MB):

从中,可能会使用类似的方法(最大64MB):


如果不想代理上载,则需要使用浏览器端验证。HTML5有了答案

发件人:

if(文件读取器的类型!=“未定义”){
var size=document.getElementById('myfile')。文件[0]。大小;
//检查文件大小
}
当然,这并不能阻止用户使用诸如Postman之类的工具来绕过限制,但我的意思是,拜托

如果您对视频的持续时间而不是原始文件大小更感兴趣,则绝对需要首先代理内容字节–有关更多信息,请参阅此线程:

如果不想代理上载,则需要使用浏览器端验证。HTML5有了答案

发件人:

if(文件读取器的类型!=“未定义”){
var size=document.getElementById('myfile')。文件[0]。大小;
//检查文件大小
}
当然,这并不能阻止用户使用诸如Postman之类的工具来绕过限制,但我的意思是,拜托

如果您对视频的持续时间而不是原始文件大小更感兴趣,则绝对需要首先代理内容字节–有关更多信息,请参阅此线程:

如果您没有使用代理解决方案,那么您就是在向最终用户公开。它没有任何尺寸限制。您可以采取的唯一缓解措施是限制saas签名有效的时间,因此用户有时间限制进行上传。客户端上的任何验证都只能部分缓解上传大文件的问题。如前所述,用户可以通过调试客户端脚本从ui获取saas链接,并在时间范围内将任何内容大小上传到该链接,该链接是有效的


Azure storage不公开任何API来限制文件上载大小,因此目前唯一适合您的方案是使用代理。

如果您不使用代理解决方案,则向最终用户公开。它没有任何尺寸限制。您可以采取的唯一缓解措施是限制saas签名有效的时间,因此用户有时间限制进行上传。客户端上的任何验证都只能部分缓解上传大文件的问题。如前所述,用户可以通过调试客户端脚本从ui获取saas链接,并在时间范围内将任何内容大小上传到该链接,该链接是有效的


Azure storage没有公开任何API来限制文件上载大小,因此目前针对您的场景的唯一防弹解决方案是使用代理。

这要求我的服务器充当我试图避免的代理。这要求我的服务器充当我试图避免的代理。
protected void btnUpload_Click(object sender, EventArgs e)
{
    CloudBlobClient blobClient;
    var storageAccount = CloudStorageAccount.FromConfigurationSetting("DataConnectionString");
    blobClient = storageAccount.CreateCloudBlobClient();

    CloudBlobContainer container = blobClient.GetContainerReference("mycontainer");
    container.CreateIfNotExist();

    var permission = container.GetPermissions();
    permission.PublicAccess = BlobContainerPublicAccessType.Container;
    container.SetPermissions(permission);

    string name = fu.FileName;
    CloudBlockBlob blob = container.GetBlockBlobReference(name);

    blob.UploadFromStream(fu.FileContent);

    int maxSize = ....;

    if (fu.PostedFile.ContentLength > maxSize)
    {
        // Handle error: file too large
    } else {
        blob.UploadFromStream(fu.FileContent); 
    }