django-aliyun-oss2-storage icon indicating copy to clipboard operation
django-aliyun-oss2-storage copied to clipboard

‘/’被编码成‘%2F’

Open gexingavin opened this issue 8 years ago • 7 comments

{% static 'app/bootstrap/css/bootstrap.min.css'%} 被解析成http://xxxxxxx.oss-cn-hangzhou.aliyuncs.com/static%2Fapp%2Fbootstrap%2Fcss%2Fbootstrap.min.css 如果bootstrap.min.css包含相对路径的图片,那么就会出现问题,请问这个情况如何解决? 期望解析成http://xxxxxxx.oss-cn-hangzhou.aliyuncs.com/static/app/bootstrap/css/bootstrap.min.css

gexingavin avatar Nov 01 '17 13:11 gexingavin

你好,这是url encode之后的结果,不影响访问。如果你需要/形式,可以条用url decode 解码。

xiewenya avatar Nov 01 '17 13:11 xiewenya

如果css中包含一个相对路径, ../xxx.png,那么就会导致这个图片无法访问,因为http://xxxxxxx.oss-cn-hangzhou.aliyuncs.com/static%2Fapp%2Fbootstrap%2Fcss%2Fbootstrap.min.css会定位到 http://xxxxxxx.oss-cn-hangzhou.aliyuncs.com/xxx.png这个路径

gexingavin avatar Nov 01 '17 14:11 gexingavin

例如:background-image: url(../../wmd-buttons.png);

gexingavin avatar Nov 01 '17 14:11 gexingavin

这个问题出现在admin的第三方库中,比如grappelli,pagedown等,不容易自己url decode。

gexingavin avatar Nov 01 '17 14:11 gexingavin

这个问题我之前没遇到过,你有什么建议吗?

xiewenya avatar Nov 01 '17 14:11 xiewenya

我暂时修改你的源码,在url函数中做一次字符替换,临时解决项目的问题。 感觉这个方法不是太nice。

gexingavin avatar Nov 01 '17 14:11 gexingavin

同样遇到了这样的问题。我在template中使用了{% static "css/bootstrap.min.css" %},但是编码结果中,/被编码为 %2F,导致oss 404.

PixelDust22 avatar Dec 04 '17 05:12 PixelDust22