最近,我从https://github.com/JimBobSquarePants/UmbracoFileSystemProviders.Azure开始集成https://github.com/JimBobSquarePants/UmbracoFileSystemProviders.Azure,并且能够在本地机器上完成以下工作&一个开发环境.
但是,当我试图查看前端的图像(即"http://www.sitedomain.com/media/9999/file-name.png")时,会出现404错误。我认为这是因为站点仍然试图在站点中而不是Azure中找到前端映像(基于创建/删除匹配目录&在适当的相对位置上的图像会导致图像加载或生成404的事实)。这个问题在多个浏览器中是一致的&图像上传(无论我是通过Umbraco还是通过上传)。有人知道我怎么能解决这个问题吗?
下面是我使用的所有文件/代码片段,我认为它们可能与问题有关(为了安全起见,交换了特定于客户端的数据以支持通用数据).
Config/FileSystemProviders.config的相关部分:
<Provider alias="media" type="Our.Umbraco.FileSystemProviders.Azure.AzureBlobFileSystem, Our.Umbraco.FileSystemProviders.Azure">
<Parameters>
<add key="alias" value="media"/>
</Parameters>
</Provider>
Web.config的相关章节:
<appSettings>
<!--other data here-->
<add key="AzureBlobFileSystem.ConnectionString:media" value="DefaultEndpointsProtocol=https;AccountName=azureaccount;AccountKey=aBcDeFgHiJkLmNoPqRsTuVwXyZ==;EndpointSuffix=core.windows.net" />
<add key="AzureBlobFileSystem.ContainerName:media" value="media-stage" />
<add key="AzureBlobFileSystem.RootUrl:media" value="https://azureaccount.blob.core.windows.net/" />
<add key="AzureBlobFileSystem.MaxDays:media" value="365" />
<add key="AzureBlobFileSystem.UseDefaultRoute:media" value="true" />
<add key="AzureBlobFileSystem.UsePrivateContainer:media" value="false" />
<!--other data here-->
</appSettings>
<location path="Media">
<system.webServer>
<handlers>
<remove name="StaticFileHandler" />
<add name="StaticFileHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.StaticFileHandler" />
</handlers>
</system.webServer>
</location>
关于故障排除过程的一些附加注意事项..。
我在GitHub上看到过一些类似的问题,但我相信我的情况是独一无二的,因为.
我还尝试过放弃web.config方法&在Config/FileSystemProviders.config中使用以下方法(同样,特定于客户端的数据已被通用数据替换),但仍然存在相同的问题.
<Provider alias="media" type="Our.Umbraco.FileSystemProviders.Azure.AzureBlobFileSystem, Our.Umbraco.FileSystemProviders.Azure">
<Parameters>
<add key="containerName" value="media-stage" />
<add key="rootUrl" value="https://azureaccount.blob.core.windows.net/" />
<add key="connectionString" value="DefaultEndpointsProtocol=https;AccountName=azureaccount;AccountKey=aBcDeFgHiJkLmNoPqRsTuVwXyZ==;EndpointSuffix=core.windows.net"/>
<add key="maxDays" value="365" />
<add key="useDefaultRoute" value="true" />
<add key="usePrivateContainer" value="false" />
</Parameters>
谢谢您的帮助!
发布于 2019-01-15 16:44:33
我发现我需要禁用虚拟路径提供程序,否则生成的URL总是相对的(表单/media/nnnnn/filename.jpg)。因此,我将其添加到web.config AppSettings中。
<add key="AzureBlobFileSystem.DisableVirtualPathProvider" value="true" />
见https://github.com/JimBobSquarePants/UmbracoFileSystemProviders.Azure。
这是与Umbraco版本7.7.7。
https://stackoverflow.com/questions/49498280
复制相似问题