Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.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
Asp.net core C#上传IList<;格式文件>;到一个蔚蓝的斑点_Asp.net Core_Azure Blob Storage - Fatal编程技术网

Asp.net core C#上传IList<;格式文件>;到一个蔚蓝的斑点

Asp.net core C#上传IList<;格式文件>;到一个蔚蓝的斑点,asp.net-core,azure-blob-storage,Asp.net Core,Azure Blob Storage,我想上传ifformfile的列表在我将它们更改为流列表后,文件可以在一次上载中吗?这是我在Azure Blob中上载文件的方法: public interface IFileStorageService { Task<string> UploadImageAsync(IFormFile imageFile); Task<string> UploadVideoAsync(IFormFile videoFile); } public class FileS

我想上传
ifformfile的列表
在我将它们更改为流列表后,文件可以在一次上载中吗?

这是我在Azure Blob中上载文件的方法:

public interface IFileStorageService
{
    Task<string> UploadImageAsync(IFormFile imageFile);
    Task<string> UploadVideoAsync(IFormFile videoFile);
}

public class FileStorageService : IFileStorageService
{
    private readonly Uri _baseUri = new Uri("YourBlobUrl");
    private readonly CloudBlobClient _client;

    public FileStorageService()
    {
        _client = new CloudBlobClient(_baseUri, new StorageCredentials("accoutName", "YourSecretKey"));
    }

    public async Task<string> UploadImageAsync(IFormFile imageFile)
    {
        try
        {
            StreamReader streamReader = new StreamReader(imageFile.OpenReadStream());
            var container = _client.GetContainerReference("images");
            var blob = container.GetBlockBlobReference(imageFile.FileName +".jpg");
            await blob.UploadFromStreamAsync(streamReader.BaseStream);

            return new Uri(_baseUri, $"/images/{imageFile.FileName}.jpg").ToString();
        }
        catch (Exception exception)
        {
            throw;
        }

    }

    public async Task<string> UploadVideoAsync(IFormFile videoFile)
    {
        try
        {
            StreamReader videoStream = new StreamReader(videoFile.OpenReadStream());
            var container = _client.GetContainerReference("videos");
            var blob = container.GetBlockBlobReference(videoFile.FileName+".mp4");
            await blob.UploadFromStreamAsync(videoStream.BaseStream);

            return new Uri(_baseUri, $"/videos/{videoFile.FileName}.mp4").ToString();
        }
        catch (Exception exception)
        {
            throw;
        }

    }
}
公共接口IFileStorageService
{
任务上传ImageAsync(IFormFile imageFile);
任务上传VideoAsync(IFormFile videoFile);
}
公共类文件存储服务:IFileStorageService
{
私有只读Uri_baseUri=新Uri(“YourBlobUrl”);
私有只读CloudBlobClient\u客户端;
公共文件存储服务()
{
_client=newcloudblobclient(_baseUri,newstoragecredentials(“accountname”,“YourSecretKey”));
}
公共异步任务上载ImageAsync(IFormFile imageFile)
{
尝试
{
StreamReader StreamReader=新的StreamReader(imageFile.OpenReadStream());
var container=_client.GetContainerReference(“图像”);
var blob=container.GetBlockBlobReference(imageFile.FileName+“.jpg”);
等待blob.UploadFromStreamAsync(streamReader.BaseStream);
返回新的Uri(_baseUri,$”/images/{imageFile.FileName}.jpg”).ToString();
}
捕获(异常)
{
投掷;
}
}
公共异步任务上载VideoAsync(IFormFile videoFile)
{
尝试
{
StreamReader videoStream=新的StreamReader(videoFile.OpenReadStream());
var container=_client.GetContainerReference(“视频”);
var blob=container.GetBlockBlobReference(videoFile.FileName+“.mp4”);
等待blob.UploadFromStreamAsync(videoStream.BaseStream);
返回新的Uri(_baseUri,$”/videos/{videoFile.FileName}.mp4”).ToString();
}
捕获(异常)
{
投掷;
}
}
}
现在,您可以使用它来上传
ifformfile
列表,只需迭代
ifformfile