C# 坚持使用C中的Azure append blob附加图像#
我可以将图像附加到字节?我试过了,但不管用。。它可以增大尺寸,但不能反射图像。。它总是返回我首先附加的第一个图像。。那么,请帮助我如何添加图像?json/文本文件工作正常,但我被附加图像卡住了 所以,请帮助我怎么做 这是我的密码C# 坚持使用C中的Azure append blob附加图像#,c#,azure,azure-blob-storage,C#,Azure,Azure Blob Storage,我可以将图像附加到字节?我试过了,但不管用。。它可以增大尺寸,但不能反射图像。。它总是返回我首先附加的第一个图像。。那么,请帮助我如何添加图像?json/文本文件工作正常,但我被附加图像卡住了 所以,请帮助我怎么做 这是我的密码 CloudAppendBlob cloudAppendBlob = cloudBlobContainer.GetAppendBlobReference(fileName); bool exist = await cloudAppendBl
CloudAppendBlob cloudAppendBlob = cloudBlobContainer.GetAppendBlobReference(fileName);
bool exist = await cloudAppendBlob.ExistsAsync();
if(!exist)
{
await cloudAppendBlob.CreateOrReplaceAsync();
}
cloudAppendBlob.Properties.ContentType = fileType;
stream.Position = 0;
await cloudAppendBlob.AppendBlockAsync(stream);
不能使用相同的名称附加图像。如果这样做,它将用相同的名称替换图像文件。如果你上传另一张图片,它会根据上传的图片创建一张新图片。请尝试下面的代码 私有云blobContainer blobContainer
public AzureBlobHelper()
{
try
{
// Get azure table storage connection string.
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("StorageConnectionString"));
CloudBlobClient cloudBlobClient = storageAccount.CreateCloudBlobClient();
blobContainer = cloudBlobClient.GetContainerReference(CloudConfigurationManager.GetSetting("StorageContainer"));
// Create the container and set the permission
if (blobContainer.CreateIfNotExists())
{
blobContainer.SetPermissions(
new BlobContainerPermissions
{
PublicAccess = BlobContainerPublicAccessType.Blob
}
);
}
}
catch (Exception ExceptionObj)
{
// throw ExceptionObj;
}
}
public string UploadFile(string FileName, string LocalPath, string AzureBlobPath, string ContentType = "")
{
string AbsoluteUri;
try
{
CloudBlockBlob blockBlob;
// Create a block blob
blockBlob = blobContainer.GetBlockBlobReference(AzureBlobPath + FileName);
// Set the object's content type
blockBlob.Properties.ContentType = ContentType;
blockBlob.UploadFromFile(LocalPath);
// get file uri
AbsoluteUri = blockBlob.Uri.AbsoluteUri;
}
catch (Exception ExceptionObj)
{
throw ExceptionObj;
}
return AbsoluteUri;
}
为什么要为此使用append blob?对于append blob来说,这是一个完全错误的用例。您应该为二进制内容使用块blob。@GauravMantri,因为在我的用例中,我想创建一个API,它将获取部分图像。这些部分应该一个接一个地上传到azure中。它应该在azure中创建一个映像。为此,我使用Append blob。有没有其他方法可以实现这一点?Block blob就是实现这一点的方法(这就是为什么它被命名为Block blob)。您可以使用添加部分图像,然后使用将它们缝合在一起以获得图像。
您不能使用相同的名称附加图像
-这是不正确的。您当然可以将数据追加到现有的追加blob。但是,不应将append blob与二进制内容一起使用,因为它会损坏数据。块blob应该像你在回答中提到的那样使用。对。这就是我们试图在代码中解释的。谢谢。我试过你的逻辑,但它被旧图像覆盖了。所以它对我不起作用。在我的用例中,我想创建一个API,它将获取部分图像。这些部分应该一个接一个地上传到azure中。它应该在azure中创建一个映像。