-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPrograme.cs
73 lines (56 loc) · 2.33 KB
/
Programe.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
using Azure.Storage.Blobs;
using Azure.Storage.Blobs.Models;
using System;
using System.IO;
using System.Threading.Tasks;
public class AzureBlobStorageService
{
private readonly BlobServiceClient _blobServiceClient;
private readonly string _containerName;
public AzureBlobStorageService(string connectionString, string containerName)
{
_blobServiceClient = new BlobServiceClient(connectionString);
_containerName = containerName;
}
public async Task UploadFileAsync(string filePath, string fileName)
{
var containerClient = _blobServiceClient.GetBlobContainerClient(_containerName);
await containerClient.CreateIfNotExistsAsync();
var blobClient = containerClient.GetBlobClient(fileName);
await using FileStream uploadFileStream = File.OpenRead(filePath);
await blobClient.UploadAsync(uploadFileStream, true);
Console.WriteLine($"File {fileName} uploaded successfully.");
}
public async Task DownloadFileAsync(string fileName, string downloadFilePath)
{
var containerClient = _blobServiceClient.GetBlobContainerClient(_containerName);
var blobClient = containerClient.GetBlobClient(fileName);
BlobDownloadInfo download = await blobClient.DownloadAsync();
await using FileStream downloadFileStream = File.OpenWrite(downloadFilePath);
await download.Content.CopyToAsync(downloadFileStream);
Console.WriteLine($"File {fileName} downloaded successfully.");
}
public async Task ListFilesAsync()
{
var containerClient = _blobServiceClient.GetBlobContainerClient(_containerName);
await foreach (BlobItem blobItem in containerClient.GetBlobsAsync())
{
Console.WriteLine($"File Name: {blobItem.Name}");
}
}
}
class Program
{
static async Task Main(string[] args)
{
string connectionString = "YOUR_CONNECTION_STRING_HERE";
string containerName = "myfiles";
var blobService = new AzureBlobStorageService(connectionString, containerName);
// Upload a file
await blobService.UploadFileAsync("path/to/local/file.txt", "file.txt");
// List all files
await blobService.ListFilesAsync();
// Download a file
await blobService.DownloadFileAsync("file.txt", "path/to/download/file.txt");
}
}