【C# 功能总结 19】 C# 往服务器上传和删除和下载文件

在C#中,如果你使用的是Azure Storage Blob服务,你可以通过BlobServiceClientBlobContainerClientBlobClient类来实现文件的上传、删除和下载操作。以下是如何使用这些类的异步方法UploadAsyncDeleteAsyncDownloadAsync的示例。

1. 安装Azure.Storage.Blobs NuGet包

首先,你需要安装Azure.Storage.Blobs NuGet包。你可以通过NuGet包管理器控制台来安装:


shell

Install-Package Azure.Storage.Blobs

2. 上传文件 (UploadAsync)


csharp

using Azure.Storage.Blobs;
using Azure.Storage.Blobs.Models;
using System;
using System.IO;
using System.Threading.Tasks;

public class BlobStorageService
{
    private readonly BlobServiceClient _blobServiceClient;

    public BlobStorageService(string connectionString)
    {
        _blobServiceClient = new BlobServiceClient(connectionString);
    }

    public async Task UploadFileAsync(string containerName, string blobName, string filePath)
    {
        var containerClient = _blobServiceClient.GetBlobContainerClient(containerName);
        await containerClient.CreateIfNotExistsAsync();

        var blobClient = containerClient.GetBlobClient(blobName);
        await using FileStream uploadFileStream = File.OpenRead(filePath);
        await blobClient.UploadAsync(uploadFileStream, overwrite: true);
    }
}

3. 删除文件 (DeleteAsync)


csharp

public async Task DeleteFileAsync(string containerName, string blobName)
{
    var containerClient = _blobServiceClient.GetBlobContainerClient(containerName);
    var blobClient = containerClient.GetBlobClient(blobName);
    await blobClient.DeleteIfExistsAsync();
}

4. 下载文件 (DownloadAsync)


csharp

public async Task DownloadFileAsync(string containerName, string blobName, string downloadFilePath)
{
    var containerClient = _blobServiceClient.GetBlobContainerClient(containerName);
    var blobClient = containerClient.GetBlobClient(blobName);

    await using FileStream downloadFileStream = File.OpenWrite(downloadFilePath);
    await blobClient.DownloadToAsync(downloadFileStream);
}

使用示例


csharp

class Program
{
    static async Task Main(string[] args)
    {
        var connectionString = "your_connection_string_here";
        var blobService = new BlobStorageService(connectionString);

        // 上传文件
        await blobService.UploadFileAsync("mycontainer", "myfile.txt", "path_to_your_file.txt");

        // 下载文件
        await blobService.DownloadFileAsync("mycontainer", "myfile.txt", "path_to_download_file.txt");

        // 删除文件
        await blobService.DeleteFileAsync("mycontainer", "myfile.txt");
    }
}

请确保将your_connection_string_here替换为你的Azure Storage账户的实际连接字符串,并根据需要调整容器名称、Blob名称和文件路径。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路飞VS草帽

感谢支持~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值