Mc.*_*ver 1 iphone url ios swift
我从互联网上下载了一个mp3文件,然后将其保存到文档目录,现在我尝试播放它,但是文件有一些像Space
和的字符[]
,这使得应用程序崩溃,因为它找不到文件.原始文件名是这样的:
Artist - Track [320].mp3
Run Code Online (Sandbox Code Playgroud)
所以URL是:http://sample.com/Artist%20-%20Track%20[320].mp3
但是我的文件下载器url字符串用这个替换了那个标准的url:
http://sample.com/Artist%20-%20Track%20%5D320%5D.mp3
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,[]
人物已被替换为%5D
!获取url字符串的正确方法是什么?
从UIWebView获取URL:
func requestIsDownloadable( request: URLRequest) -> Bool
{
let requestString : NSString = (request.url?.absoluteString)! as NSString
let fileExtention : String = requestString.pathExtension.lowercased()
fileTypes.fileTypeIcons(path: fileExtention as NSString , icon: fileType)
fileName.text = requestString.lastPathComponent as String
//******************************//
fileURL.text = request.url?.absoluteString
//******************************//
let isDownloadable : Bool = (
fileExtentions.contains(fileExtention)
)
return isDownloadable
}
func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool
{
if requestIsDownloadable(request: request)
{
initializeDownload(download: request)
return false
}
//urlTextField.text = webView.request?.url?.absoluteString
return true
}
Run Code Online (Sandbox Code Playgroud)
小智 6
目前还不是很清楚你在哪里遇到问题.但是,如果您需要解码字符串并删除百分比编码,则可以执行以下操作:
let encodedString = "http://sample.com/Artist%20-%20Track%20%5D320%5D.mp3"
let decodedString = encodedString.removingPercentEncoding
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
472 次 |
最近记录: |