2017-06-30 15 views
1

インターネットからmp3ファイルをダウンロードしてドキュメントディレクトリに保存しましたが、今は再生しようとしましたが、ファイルにSpace[]のような文字が含まれています。ファイルを探します。URL文字列に特殊文字を使用する

Artist - Track [320].mp3 

ので、URLは次のとおりです:http://sample.com/Artist%20-%20Track%20[320].mp3

しかし、私のファイルダウンローダURL文字列これでその標準のURLを置き換える:あなたが見ることができるように

http://sample.com/Artist%20-%20Track%20%5D320%5D.mp3 

元のファイル名は、このようなものです[]文字は%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 
    } 

答えて

6

は、それは非常に明確ではありません。ただし、文字列をデコードしてエンコード率を削除する必要がある場合は、これを行うことができます。

let encodedString = "http://sample.com/Artist%20-%20Track%20%5D320%5D.mp3" 
let decodedString = encodedString.removingPercentEncoding 
+0

ありがとう!それは働いた –

+0

@ Mc.Lover、素晴らしい!役に立ったと答えてもらえますか? –

+0

私はあまりにも答えを受け入れるために6分を待っている;-) –