public class StorageService
{
CloudStorageAccount storageAccount = CloudStorageAccount.Parse("DefaultEndpointsProtocol=removed for this post");
public async Task Upload(string id, Stream data)
{
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
// Retrieve a reference to a container.
CloudBlobContainer container = blobClient.GetContainerReference("images");
await container.CreateIfNotExistsAsync();
container.SetPermissions(
new BlobContainerPermissions
{
PublicAccess = BlobContainerPublicAccessType.Blob
});
// Retrieve reference to a blob named "myblob".
CloudBlockBlob blockBlob = container.GetBlockBlobReference(id);
await blockBlob.UploadFromStreamAsync(data, data.Length);
}
public async Task UploadBlogPhoto(string id, Stream data)
{
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
// Retrieve a reference to a container.
CloudBlobContainer container = blobClient.GetContainerReference("mycontainer");
await container.CreateIfNotExistsAsync();
container.SetPermissions(
new BlobContainerPermissions
{
PublicAccess = BlobContainerPublicAccessType.Blob
});
// Retrieve reference to a blob named "myblob".
CloudBlockBlob blockBlob = container.GetBlockBlobReference(id);
await blockBlob.UploadFromStreamAsync(data, data.Length);
}
}
Итак, у меня есть класс StorageServices, и я использую первый метод Upload, чтобы загрузить фотографии пользователей.Загрузить изображение к Azure blob с summernote
здесь разметка:
using (Html.BeginForm("UploadPhoto", "Manage", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<div class="browseimg">
<input type="file" class="display-none" name="file" id="files" onchange="this.form.submit()" />
</div>
}
<button class="btn btn-primary width-100p main-bg round-border-bot" id="falseFiles">
Upload billede
</button>
Это кнопка summernote для загрузки фото. Почта загружается в базу данных. Однако есть ли способ, чтобы текст был загружен в базу данных и изображение в Azure blob? Мне нужно сделать это асинхронно, сначала загрузив изображение и добавив URL-адрес лазурного пятна в summernote, можно ли это сделать?
Я не использовал Summernote, так что я не знаю, как именно это работает, но с учетом Azure Blob Storage и Summernote два различных хранилищ данных, вам необходимо выполнить две операции : Один для загрузки блоба, а затем для записи в эту базу данных Summernote. Хотя вы можете выполнять обе операции только в своих функциях загрузки. Сначала загрузите изображение в хранилище blob, дождитесь его завершения и затем вставьте текст. –