Azure Blob Storage
[HttpPost]
public async Task<IActionResult> Upload(string blobName)
{
var myFile = this.Request.Form.Files["myFile"];
// 建立 Blob 服務客戶端
var blobServiceClient = new BlobServiceClient(_blobStorageConnectionString);
// 建立容器客戶端
var myFilesContainer = blobServiceClient.GetBlobContainerClient("myfiles");
// 建立 Blob 客戶端
var myFileBlob = myFilesContainer.GetBlobClient($"{DateTime.Today:yyyyMMdd}/{myFile.FileName}");
// 利用檔案名稱取得 ContentType
if (!new FileExtensionContentTypeProvider().TryGetContentType(myFile.FileName, out var contentType))
{
contentType = "application/octet-stream";
}
// 上傳檔案到 Blob
await myFileBlob.UploadAsync(
myFile.OpenReadStream(),
new BlobUploadOptions
{
HttpHeaders =
new BlobHttpHeaders
{
ContentType = contentType
}
});
// ...
return View();
}Last updated