Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 在Azure Blob存储中替换文件时出现错误500_Asp.net_Azure Storage Blobs_Azure Blob Storage - Fatal编程技术网

Asp.net 在Azure Blob存储中替换文件时出现错误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

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

这是我的密码:

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。您好,有更新吗?尚未测试。我暂停了这个项目的开发。一旦我们恢复上传图片的开发,我们会回复你。