Я пытаюсь создать простой вид для загрузки файла в лазурный контейнер для хранения. После загрузки я хочу поймать BlockBlobReference для загруженного файла, сохранить ссылку в поле базы данных, чтобы загрузить файл для последующего использования. Я понял вид и контроллер для загрузки (работы по загрузке), но я понятия не имею, как справиться с остальными.Как поймать ссылку azure blob при загрузке
Вот часть моей точки зрения бритвы:
<div>
@using (Html.BeginForm("UploadTestFile", "Upload", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<span>Select File:</span>
<input type="file" name="loadedFiles" multiple />
<hr />
<input type="submit" value="Upload" />
<br />
<span style="color:green">@ViewBag.Message</span>
}
</div>
И это контроллер и метод:
[HttpPost]
public void UploadTestFile(HttpPostedFileBase loadedFiles)
{
string containerName = "testcontainer";
UploadFileToBlobStorage(containerName, loadedFiles);
}
public void UploadFileToBlobStorage(string containerName, HttpPostedFileBase loadedFiles)
{
// Retrieve storage account from connection string.
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
CloudConfigurationManager.GetSetting("StorageConnectionString"));
// Create the blob client.
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
// Retrieve reference to a previously created container.
CloudBlobContainer container = blobClient.GetContainerReference(containerName);
// Create the container if it doesn't already exist.
container.CreateIfNotExists();
container.SetPermissions(
new BlobContainerPermissions
{
PublicAccess =
BlobContainerPublicAccessType.Blob
});
// here I would like to iterate through the items, in case that more than one file was selected
// I don't know how to iterate through loadedFiles though
// filename
string _fileName = loadedFiles.FileName;
// Retrieve reference to a blob
CloudBlockBlob blockBlob = container.GetBlockBlobReference(_fileName);
blockBlob.UploadFromStream(loadedFiles.InputStream);
}
Может кто-нибудь мне помочь или дать мне несколько советов, пожалуйста. С уважением, Manu
Почему вы хотите сохранить BlobReference? Вы всегда можете скачать файл только с именем и именем контейнера. –
@Matias: Спасибо за подсказку. Я не знал, что достаточно только контейнера и имени файла. – Manu