【问题标题】:How can I rename files uploaded through ADAM in 2SXC?如何在 2SXC 中重命名通过 ADAM 上传的文件?
【发布时间】:2019-08-14 19:36:33
【问题描述】:

使用 2SXC 内容模块,我有一个简单的英雄内容类型和模板,其中包括标题和背景图像。我使用 C# Razor 模板,当我的用户通过 ADAM 上传背景图像时,razor 模板通过内联 CSS 应用背景。像这样的:

@if (Content.BackgroundImage != "") {
   <style type="text/css">
    section.hero {
     background-image: url(@Content.BackgroundImage);
   }
}

问题在于,如果用户上传的文件名包含空格和/或非法字符,则不会出现背景图片,因为浏览器不喜欢内联 CSS 文件名中的空格。

如何让ADAM上传的文件去掉空格,去掉非法字符?

【问题讨论】:

    标签: dotnetnuke 2sxc


    【解决方案1】:

    您必须对它们进行 url 编码,例如将 替换为 %20。使用https://docs.microsoft.com/en-us/previous-versions/iis/6.0-sdk/ms525738(v%3Dvs.90)HttpUtility.UrlEncode 或其中一种变体:)

    【讨论】:

    • 这个资源有帮助。使用它,我最终编写了更多代码来适应我的示例。
    【解决方案2】:
    @HttpUtility.UrlEncode(Content.BackgroundImage).Replace("+", "%20").Replace("%2f","/")
    

    根据 iJungleBoy 的建议,我使用了 HttpUtility.URLEncode。但它用 + 替换了空格,用 %2f 替换了 /,所以我使用 .Replace 将 + 替换为 %20,将 %f 替换为 / 以创建一个漂亮的简单 URL。这现在接受带有空格的图像。

    【讨论】:

      猜你喜欢
      • 2022-11-23
      • 1970-01-01
      • 1970-01-01
      • 2016-08-07
      • 2014-09-10
      • 1970-01-01
      • 2013-01-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多