1,nuget引入包Microsoft.WindowsAzure
2. 代码示例
using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.Blob;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.IO;
using System.Linq;
using System.Net;
using System.Threading.Tasks;
namespace AzureTest
{
public class AzureCloudHelper
{
public static CloudBlobContainer container = null;
public static void PushImageToAzure(List<TestFiles> files)
{
try
{
Parallel.ForEach(files, file =>
{
WebClient webClient = new WebClient();
Stream stream = null;
try {
stream = webClient.OpenRead(file.src);
}
catch (Exception)
{
file.src = null;
}
if(stream != null)
{
CloudBlockBlob blob = container.GetBlockBlobReference(file.name);
file.src = blob.Uri.ToString();
blob.UploadFromStream(stream);
}
});
}
catch (Exception ex)
{
throw ex;
}
}
public static void DeleteImageFromAzure(List<TestFiles> files)
{
try
{
Parallel.ForEach(files, file =>
{
CloudBlockBlob blob = container.GetBlockBlobReference(file.name);
blob.DeleteIfExists();
});
}
catch (Exception ex)
{
throw ex;
}
}
public static CloudBlobContainer InitCloudClient()
{
try
{
var appSettings = ConfigurationManager.AppSettings;
CloudStorageAccount storageAccount = CloudStorageAccount.Parse("DefaultEndpointsProtocol=https;AccountName="+ appSettings["AzureAccountName"] + ";AccountKey="+ appSettings["AzureAccountKey"] + "");
// Create the blob client.
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
// Retrieve a reference to a container.
container = blobClient.GetContainerReference(appSettings["AzureContainerName"]);
container.CreateIfNotExists();
return container;
}
catch (Exception ex)
{
throw ex;
}
}
}
}