gpt4 book ai didi

c# - 将视频 (mp4) 上传到 Azure Blob 存储

转载 作者:行者123 更新时间:2023-12-03 05:40:11 26 4
gpt4 key购买 nike

我正在关注Transfer data with the Data Movement library将视频 (mp4) 从我的本地计算机上传到 Azure Blob 存储。

这里是代码。

using System;
using System.Threading;
using System.Threading.Tasks;
using System.Diagnostics;
using Microsoft.Azure.Storage;
using Microsoft.Azure.Storage.Blob;
using Microsoft.Azure.Storage.DataMovement;
using System.Net;
using System.Text;
using System.IO;
using System.Collections.Generic;
using Newtonsoft.Json;

namespace AzureUpload
{
class Program
{

static void Main(string[] args)
{
try
{
CloudStorageAccount account = CloudStorageAccount.Parse("<<ConnectionString>>");
ExecuteChoice(account);
}
catch (Exception e)
{
Console.ReadLine();
}
Console.ReadLine();
}

public static void ExecuteChoice(CloudStorageAccount account)
{
TransferLocalFileToAzureBlob(account).Wait();
}

public static string GetSourcePath()
{
return "E:\\SampleVideo.mp4";
}

public static CloudBlockBlob GetBlob(CloudStorageAccount account)
{
CloudBlobClient blobClient = account.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference("<<Container>>");
container.CreateIfNotExistsAsync().Wait();
CloudBlockBlob blob = container.GetBlockBlobReference("MoD0604");
blob.Properties.ContentType = "video/mp4"; // -- added this line to set ContentType as my video file is mp4
return blob;
}

public static async Task TransferLocalFileToAzureBlob(CloudStorageAccount account)
{
string localFilePath = GetSourcePath();
CloudBlockBlob blob = GetBlob(account);
Console.WriteLine("\nTransfer started...");
await TransferManager.UploadAsync(localFilePath, blob);
Console.WriteLine("\nTransfer operation complete.");
}
}
}

链接中提供的示例在 GetBlob 方法中没有以下行

blob.Properties.ContentType = "video/mp4"; // -- added this line to set ContentType as my video file is mp4.

我尝试使用 ContentType 和不使用 ContentType。在这两种情况下,文件看起来都已上传到 Blob。唯一的区别似乎是 ContentType,如下图所示。

enter image description here

问题是在尝试下载任何文件时,导致出现警告错误,随后两个文件都无法播放,并显示以下错误。

enter image description here

请让我知道我在这里缺少什么。

最佳答案

虽然 header 设置正确,但 Windows 不知道如何处理没有扩展名的文件,这就是您无法打开它的原因。如果您在下载 blob 时附加正确的扩展名,它将起作用,因为您(很可能)拥有与该特定文件类型关联的应用程序。

关于c# - 将视频 (mp4) 上传到 Azure Blob 存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59374786/

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