在 Azure Blob 存储中替换文件时出现 500 错误。

问题描述 投票:0回答:1

你好,我遇到一个错误,当我替换一个文件时,它返回 "500内部服务器错误"。但是当我上传一个新的文件时,一切正常。

这是我的代码。

public async Task UploadContentBlobAsync(IFormFile formFile, string fileName)
{
    var blobClient = _containerClient.GetBlobClient(fileName);
    await blobClient.UploadAsync(formFile.OpenReadStream());
}

根据这个 源头 Azure只会将我的fie替换成现有的文件上传,但我的情况不会发生这种情况。

asp.net azure-storage-blobs azure-blob-storage
1个回答
1
投票

我使用的是 Azure.Storage.Blobs 12.4.3我创建了一个方法,并将请求作为参数传递。下面的代码可以工作,在替换blob内容的过程中不会报错。

string connectionString = "DefaultEndpointsProtocol=https;AccountName=0730bowmanwindow;AccountKey=xxxxxx;EndpointSuffix=core.windows.net";

string containerName = "video";

string fileName = "1.png";

BlobServiceClient blobServiceClient = new BlobServiceClient(connectionString);

BlobContainerClient containerClient = blobServiceClient.GetBlobContainerClient(containerName);

BlobClient blobClient = containerClient.GetBlobClient(fileName);

await blobClient.UploadAsync(req.Body, true);

(我把图片以二进制格式放在请求中)

在我使用的包中,UploadAsync方法中关于是否覆盖blob的参数的布尔值是false,所以我必须提供一个true,否则会报错。

你可以根据我提供的包的版本和代码做一个实验,看看是否能正确执行。如果不能,请提供详细的错误信息:)

© www.soinside.com 2019 - 2024. All rights reserved.