wordpress 如何从Azure Blob存储上传的图像中删除附加字符串

kpbpu008  于 2022-12-11  发布在  WordPress
关注(0)|答案(1)|浏览(174)

我们使用Microsoft Azure Storage for WordPress插件将WP站点的媒体库移动到Azure Blob Storage,并添加了一个配置以遵循站点的上传路径,例如:

https://example.com/app/uploads/2022/12/some-image.jpg

这是通过设置一个名为“app”的容器,并在其中创建一个名为“uploads”的文件夹,然后将所有媒体资源移到那里来实现的。我们还必须添加一个config来将MICROSOFT_AZURE_CONTAINER设置为app/uploads
一切正常,但当我们上传一个新的图像,它有额外的字符串的媒体文件。
因此,如果我上传一个名为image-placeholder.png的文件,当它上传到Azure存储时,它会变成:

https://example.com/app/uploads/2022/12/6391b4e64b763-6391b4e64b764placeholder-image.png.png

它在开头添加一个随机字符串,并重新添加文件扩展名。
有人知道这是怎么发生的吗?我怎么才能阻止它?

n6lpvg4x

n6lpvg4x1#

  • 我们可以删除文件名的附加字符串,方法是在上传文件时遵循命名约定。(下面是C#代码)*
  • 在Azure中创建存储帐户。*

  • 并在存储帐户中创建容器 *

  • 容器中已上载的文件 *

  • 使用以下C#代码上传文件/图像 *
string mystrconnectionString = "Connection String";
            CloudStorageAccount cloudStorageAcct = CloudStorageAccount.Parse(mystrconnectionString);
            CloudBlobClient blob = cloudStorageAcct.CreateCloudBlobClient();
            CloudBlobContainer container = blob.GetContainerReference(containerName);
            CloudBlockBlob myBlockBlob = container.GetBlockBlobReference(fileName);            myBlockBlob.UploadFromFileAsync(fileName);
            using FileStream uploadFileStream = File.OpenRead(fileName);            myBlockBlob.UploadFromFileAsync(fileName);
            uploadFileStream.Close();

相关问题