































15 wadezhao 2016 年 12 月 8 日@lightening <img src="/attachments/download/455/02%E5%AE.jpg"> 但是这张图片并不显示,如果你直接点击这个图片,会提示一段 HTML 代码,说这个文件不存在,而不存的文件名,并不是"02%E5%AE.jpg",而是一个“乱码.jpg ”,换句话说,直接点击,会告诉你 http://URL/attachments/download/455/乱码乱码乱码.jpg 不存在 看上去,像是 Windows 下的 Ruby ,或者是源代码,对中文文件名的处理有一点问题。 <img src="/attachments/download/455/"> 是可以正常显示的。所以我就想,只要能找到生成这一段代码的 Ruby 源码,生成的字符串,将最后一个“/”之后的字符全删掉,不就行了么? def inline_textile_image( text ) href, alt_title = check_refs( href ) if href out = '' if algn out 虽然我不懂 Ruby ,不过看上去,这一行就是关键: atts = " src=\"#{ htmlesc url.dup }\"#{ atts }" 看起来,生成<img>的“ src ”内容的,就是这一句,而这个 htmlesc 显然是一个函数,用于处理 URL.DUP 这个变量(这个我并不知道是什么,看字面意思似乎是将 URL 变量复制了一份?) 于是就有了我上面的问题,我找到了最初对 htmlesc 这个函数的定义,希望通过修改它来达到我的目的。 但奇怪的是,修改后,并没有如我想象的写回 <img src="/attachments/download/455/"> 写回的是 <img src=""> 所以我猜测,也许后面对输出的字符串还是做了什么修改,高度怀疑这几句: out = '' 但是这个语法我就看不太懂了…………现在就卡在这里了……………… |
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。