URL初始化程序在Swift 4中提供了错误的Web链接URL

时间:2018-02-01 17:03:16

标签: string url swift4 urlencode

我正在尝试使用某些网络链接下载图片。

我的网址示例如下:

let link = "www.XYZ.com/2018/02/01/thumbnails/Source-01-February-2018-20:00.jpg"

我编码如下:

if let urlString = URL(string: link.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlPathAllowed))

但它给我一个输出网址,如:

Optional<URL>
  ▿ some : www.XYZ.com/2018/02/01/thumbnails/Source-01-February-2018- ... 1:00.jpg

我不知道为什么它将文件名 Source-01-February-2018-20:00.jpg 替换为 Source-01-February-2018- ... 1:00.jpg 在编码网址中有三个点(...)。

请帮助,我如何获得相同的正确网址?
提前谢谢。

1 个答案:

答案 0 :(得分:0)

这是预期的行为。

当您输出变量的值时,它会在控制台中缩短,但这不会影响该网址的值。

要证明这一点,请打印<div style="width:114px;height:40px;font-size:32px;letter-spacing:3px" class="img-replace"> <span style="color:#1A53F7">G</span><span style="color:#E42131">o</span><span style="color:#FEB819">o</span><span style="color:#164AF2">g</span><span style="color:#00a315">l</span><span style="color:#E42131">e</span> </div> <div style="width:101px;height:40px;font-size:32px" class="img-replace"> <span style="color:purple">Yahoo!</span> </div> <div style="width:100;height:40px;font-size:32px;color:#006dd4;font-weight:bold;letter-spacing: 3px; font-family:Arial">bing</div> <hr> <img src="https://js.cx/search/google.png" width="101" height="40" alt="Google"> <img src="http://toplogos.ru/images/logo-yahoo.jpg" width="114" height="40" alt="Yahoo"> <img src="https://js.cx/search/bing.png" width="101" height="40" alt="No file (bing)">

link.absoluteString