65.9K
CodeProject 正在变化。 阅读更多。
Home

将内容以WordPress文件夹格式上传到Azure容器、CDN

starIconstarIconstarIconstarIconstarIcon

5.00/5 (1投票)

2017年5月29日

MIT

5分钟阅读

viewsIcon

9914

如何以 WordPress 文件夹格式将内容上传到我们的 CDN 存储中的 Azure 容器

目录

引言

在本篇文章中,我们将了解如何以WordPress文件夹格式将内容上传到我们的Azure容器中的CDN存储。你可能会想,WordPress文件夹格式有什么特别之处?它与其他格式有何不同?当我说是WordPress文件夹格式时,我指的是一个文件夹里包含另一个文件夹。在WordPress中,我们通常有这样的结构:wwwroot/wp-content/uploads/2017/05/。真正的问题是,我们不能在容器内创建容器。是的,你没听错。但是,你无需担心,总有一些方法可以实现这个需求。在这篇文章中,我将向你展示。希望你会喜欢。现在,让我们开始吧。

背景

我最近为我的网站创建了一个Azure CDN,当我尝试将文件上传到Azure存储时,我遇到了一个问题,那就是无法在容器内创建容器。

图1:没有在容器内上传容器的选项

如果可能的话,更改我所有图片和其他内容的URL会容易得多,你知道我的意思吗?我们可以直接上传文件夹,然后将主URL更改为我们的CDN端点。在我的例子中,将URLhttp://sibeeshpassion.com/更改为http://cdn.sibeeshpassion.com/可以解决问题,并且借助一些插件,我们可以轻松地做到这一点。

在这篇文章中,我们将看到两种可能的解决方案

  1. 在Azure blob中使用“/
  2. 通过Storage Explorer等工具上传文件夹

在Azure blob中使用“/”

这里一个好处是,我们可以始终通过使用“/”字符作为分隔符/blob名称的一部分来创建虚拟文件夹,以构建我们需要的层次结构。在我们的例子中,它是wwwroot/wp-content/uploads/2017/05/。尽管Azure存储中的Blob服务基于扁平化存储方案,而不是分层方案,但我们仍然可以在blob名称中指定一个字符或字符串分隔符来创建虚拟层次结构。例如,我们可以始终创建唯一的blob,如下所示:

  • /SibeeshPassion.png
  • /2017/01//SibeeshPassion.png
  • /wp-content/uploads/2017/01/SibeeshPassion.png

你可以参考这篇文章以获取更多关于此的信息。

通过Storage Explorer等工具上传文件夹

这一步比上述方法容易得多。在这里,我们将使用Storage Explorer等工具来完成任务。手动上传每个内容并以分层格式重命名将是一项艰巨的任务,对吧?如果你的网站上有20-50张图片或内容,那不成问题。但我的情况有点不同,因为我有大约5000张图片和其他内容,所以Personally我选择了这种方法。

要开始,你需要下载工具 Microsoft Azure Storage Explorer。下载后,请安装并打开它。

现在,在Storage Explorer中添加你的Azure账户。

Add Account in Microsoft Azure Storage Explorer

图2:在Microsoft Azure Storage Explorer中添加账户

添加账户后,该工具将列出你该账户拥有的所有存储和资源。现在,进入你的存储账户并创建一个容器。让我们创建并命名我们的容器为wp-content

Creating a BLOB Container

图3:创建BLOB容器

现在,我们还剩下上传文件夹的任务。让我们创建一个包含一张图片的示例文件夹。

Files and Folders to Upload

图4:要上传的文件和文件夹

现在点击上传按钮,选择你想要上传的根文件夹。

Select the Folder to be Uploaded

图5:选择要上传的文件夹

上传完成后,我敢肯定,你可以在你的存储账户中看到这些文件。请注意,它遵循了我们所需的相同层次结构。

Select the Uploaded Files

图6:选择已上传的文件

现在,如果你复制文件URL并在浏览器中打开它,你将看到刚刚上传的内容。

请注意,容器的默认访问策略是private,因此你将无法通过浏览器加载内容。最有可能的是,你会得到一个404错误。要解决这个问题,你需要将访问策略更改为blob或container。你可以参考这篇文章:上传到Azure容器后404 ResourceNotFound错误的修复

仅供参考,你随时可以登录Azure门户查看blob,在那里你可以找到分层blob。

Hierarchy Folder Structure in Azure Storage Container

图7:Azure存储容器中的分层文件夹结构

感谢阅读!我将带着另一篇探讨Azure CDN的文章回来。祝你上传愉快!

结论

我是否遗漏了你认为需要的内容?你觉得这篇文章有用吗?希望你喜欢这篇文章。请分享你的宝贵建议和反馈。

现在轮到你了。你有什么想法?

没有评论的博客不是一个真正的博客,但请尽量保持主题。如果你有一个与本帖无关的问题,最好将其发布到C# Corner、Code Project、Stack Overflow、ASP.NET Forum,而不是在这里评论。请在下面的评论部分给我留言,如果你能帮助我,我一定会尽力。

历史

  • 2017年5月29日:初始版本
© . All rights reserved.