又踩了个坑🕳
🚑 bug
💡 在使用Url过程中遇到了特殊的路径
比如:Assets/StreamingAssets/diji倾斜摄影测试数据/Data/Tile_+000_+003
/Tile.osgb,这个路径中包含了特殊符合+
,它表示的是空格,这时如果直接使用这个Url会导致404,我们需要把+
替换成对应的编码%2B
即可完美解决*★,°*:.☆( ̄▽ ̄)/$:*.°★*
。
🏳🌈修复bug
💡 以下是可以在文件夹及文件命名
是允许使用的特殊符号,使用UnityWebRequest下载时如果Url只是一个路径
就需要替换成对应的编码哦!🍭
特殊符号 | Url功能 | 替换编码 |
---|---|---|
+ | 空格 | %2B |
空格 | - | +或%20 |
% | 指定特殊字符 | %25 |
# | 书签 | %23 |
& | 参数之间的分隔符 | %26 |
= | 指定参数的值 | %3D |
/// <summary>
/// 把特殊符号替换成编码防止下载失败
///(url只是一个文件路径)
/// </summary>
/// <param name="url"></param>
/// <returns></returns>
public static string ReplaceSpecificSymbol(this string url)
{
string zy = url.Replace("%", "%25").Replace("+", "%2B").Replace(" ", "%20").Replace("#", "%23").Replace("&", "%26").Replace("=", "%3D");
//编辑器环境不需要替换
url = (Application.platform == RuntimePlatform.WindowsEditor) ? url : zy;
return url;
}
🥗WebGL平台开启双重转义
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
...
<security>
<requestFiltering allowDoubleEscaping="true"></requestFiltering>
</security>
</system.webServer>
</configuration>