private async Task<CloudBlockBlob> CreateBlockBlob(CloudBlobContainer container, string blobNameToCreate)
{
var blockBlob = container.GetBlockBlobReference(blobNameToCreate);
var i = 1;
while (await blockBlob.ExistsAsync())
{
var newBlobNameToCreate = CreateRandomFileName(blobNameToCreate,i.ToString());
blockBlob = container.GetBlockBlobReference(newBlobNameToCreate);
i++;
}
return blockBlob;
}
private string CreateRandomFileName(string fileNameWithExtension, string prefix=null)
{
int fileExtPos = fileNameWithExtension.LastIndexOf(".", StringComparison.Ordinal);
if (fileExtPos >= 0)
{
var ext = fileNameWithExtension.Substring(fileExtPos, fileNameWithExtension.Length - fileExtPos);
var fileName = fileNameWithExtension.Substring(0, fileExtPos);
return String.Format("{0}_{1}{2}", fileName, String.IsNullOrWhiteSpace(prefix) ? new Random().Next(int.MinValue, int.MaxValue).ToString():prefix,ext);
}
//This means there is no Extension for the file and its fine attaching random number at the end.
return String.Format("{0}_{1}", fileNameWithExtension, new Random().Next(int.MinValue, int.MaxValue));
}
Я использую этот код для создания последовательного имени файла _1, _2, _3 и т. д. каждый раз, когда файл существует в хранилище blob.
Попробуйте вместо этого использовать более подробный синтаксис jQuery(...)
:
jQuery(function () {
jQuery('[data-toggle="tooltip"]').tooltip()
})
Это происходит потому, что разные плагины уже могут использовать символ $
, поэтому jQuery имеет вызов no конфликта чтобы убедиться, что это случайно не сломает другие вещи. Ознакомьтесь с документацией jQuery.noConflict()
для получения дополнительной информации. Это показывает хороший обходной путь, когда вы все еще можете использовать $
, если он находится в функции.
Поскольку вы обычно хотите, чтобы ваш код запускался только тогда, когда jQuery готов, вы можете сделать это в функции ready()
. Таким образом, ваш код выше может быть изменен на:
jQuery( document ).ready(function( $ ) {
$('[data-toggle="tooltip"]').tooltip();
});
Пока ваш код jQuery находится внутри функции выше, вы можете продолжать использовать $
.