我有上传我的图片的代码
var blobClient = _storageAccount.CreateCloudBlobClient();
var container = blobClient.GetContainerReference(blobName);
// Create a unique name for the images we are about to upload
var file = String.Format("{0}-{1}{2}", fileName, Guid.NewGuid(), Path.GetExtension(fileToUpload.FileName));
// Upload image to Blob Storage
var blockBlob = container.GetBlockBlobReference(file);
blockBlob.Properties.ContentType = fileToUpload.ContentType;
await blockBlob.UploadFromStreamAsync(fileToUpload.InputStream);
fullPath = blockBlob.Uri.ToString();
现在在blob我有这个信息名称:测试+ GUID / 网址:测试+ GUID
如何以blob 名称:test / 网址:GUID保存,因此不会显示网址中的名称?
答案 0 :(得分:4)
使用blob名称与URL不同的方式不起作用。这有点像你的Windows路径,它将类似于你的文件名,而这两者不可能不同。
但考虑到您的要求,请在blob名称和url中仅使用GUID,以便从URL隐藏文件的实际名称。并尝试使用Blob元数据来存储和获取实际名称。
// Get a reference to a blob.
CloudBlob blob = blobClient.GetBlobReference("mycontainer/myblob.txt");
// Populate the blob's attributes.
blob.FetchAttributes();
// Enumerate the blob's metadata.
foreach (var metadataKey in blob.Metadata.Keys)
{
Console.WriteLine("Metadata name: " + metadataKey.ToString());
Console.WriteLine("Metadata value: " +
blob.Metadata.Get(metadataKey.ToString()));
}