Asp.net 在Azure Blob存储中替换文件时出现错误500
你好,我遇到了一个错误,当我替换一个文件时,它返回“500内部服务器错误”。但当我上传一个新文件时,一切都正常 这是我的密码:Asp.net 在Azure Blob存储中替换文件时出现错误500,asp.net,azure-storage-blobs,azure-blob-storage,Asp.net,Azure Storage Blobs,Azure Blob Storage,你好,我遇到了一个错误,当我替换一个文件时,它返回“500内部服务器错误”。但当我上传一个新文件时,一切都正常 这是我的密码: public async Task UploadContentBlobAsync(IFormFile formFile, string fileName) { var blobClient = _containerClient.GetBlobClient(fileName); await blobClient.UploadAsync(formFile.O
public async Task UploadContentBlobAsync(IFormFile formFile, string fileName)
{
var blobClient = _containerClient.GetBlobClient(fileName);
await blobClient.UploadAsync(formFile.OpenReadStream());
}
鉴于此Azure将只替换要上载到现有文件的我的fie,但我的情况并非如此。我使用的是
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,否则它将报告错误
您可以根据我提供的包版本和代码进行实验,看看它是否可以正确执行。如果不是,请提供详细的错误信息。:)您确定500错误来自存储而不是web应用程序吗?我使用的是POSTMAN,所以我不知道。也许在我的web应用程序中,有什么建议可以改进我的代码,以便替换blob存储上的现有文件吗?我可以使用Azure存储资源管理器手动替换。所以可能是我的代码出了问题。有任何细节错误吗?无论如何,如果您上传的文件已经存在,您应该使用以下命令:
await blobClient.UploadAsync(yourstream,true)代码>。bool值默认为false。您好,有更新吗?尚未测试。我暂停了这个项目的开发。一旦我们恢复上传图片的开发,我们会回复你。