gpt4 book ai didi

c# - 从 Web api C# 将 .mp4 上传到 Azure 媒体服务

转载 作者:行者123 更新时间:2023-12-03 03:15:13 25 4
gpt4 key购买 nike

我有一个用 C# 编写的 API,用于从前端接收文件。截至目前,它是一个字节数组,我想将其转换为 .mp4 文件,然后使用 blobstorage 将其发送到我的 azure 媒体服务。我不想将其存储在本地,也无法从磁盘读取它。最好的方法是什么?

我像这样创建我的 CloudBlobClient:

 private CloudBlobClient CloudBlobClient()
{
var storageAccount = CloudStorageAccount.Parse(ConfigurationManager.ConnectionStrings["StorageConnection"].ConnectionString);
var blobStorage = storageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobStorage.GetContainerReference(Constants.VideoBlobContainer);
if (container.CreateIfNotExist())
{
var permissions = container.GetPermissions();
permissions.PublicAccess = BlobContainerPublicAccessType.Container;
container.SetPermissions(permissions);
}
return blobStorage;
}

然后我就开始使用这个方法了

 private Uri UploadToStorage(CloudBlobClient blobStorage, byte[] video, VideoSize size)
{
var uniqueBlobName = GetVideoUriAsString(VideoId, Type, size);
CloudBlockBlob blob = blobStorage.GetBlockBlobReference(uniqueBlobName);

我不知道如何继续这里。我一直在网上寻找方法,但我发现的只是控制台应用程序从磁盘读取的示例。

有人熟悉这种类型的媒体服务上传吗?

最佳答案

尽管您应该从第一个方法的 Blob 容器中获取对 Blob 的引用,但您已经在路上了。非常粗糙,但你可以:

public void uploadBytesToBlobWithMimeAndStorageCreds(string theFolder, string theFileName, byte[] videoBytes, string theMimeType)
{
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(ConfigurationManager.ConnectionStrings["StorageConnection"].ConnectionString);

CloudBlobClient client = storageAccount.CreateCloudBlobClient;
CloudBlobContainer container = client.GetContainerReference(theFolder);

CloudBlob blob = container.GetBlobReference(theFileName);
blob.UploadByteArray(theBytes);
blob.Properties.CacheControl = "max-age=3600, must-revalidate";
blob.Properties.ContentType = theMimeType; // e.g. "video/mp4"
blob.SetProperties();

}

关于c# - 从 Web api C# 将 .mp4 上传到 Azure 媒体服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28897651/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com