Ubah NSURL ke jalur file lokal


112

Saya memiliki NSURL yang terlihat seperti ini:

file: //localhost/Users/myuser/myfile.txt

Apakah ada fungsi standar untuk mengubahnya menjadi jalur file lokal seperti ini:

/Users/myuser/myfile.txt

Jawaban:


222

Gunakan -[NSURL path]metode:

NSLog(@"%@", myUrl.path);

Dari dokumentasi:

Jalur URL, tidak lolos dengan stringByReplacingPercentEscapesUsingEncoding:metode. Jika penerima tidak sesuai dengan RFC 1808, kembalikan nil.

Jika objek URL ini berisi URL file (sebagaimana ditentukan dengan isFileURL), nilai kembalian metode ini cocok untuk dimasukkan ke dalam metode NSFileManager atau NSPathUtilities. Jika jalur memiliki garis miring, jalur tersebut akan dilucuti.

Menurut RFC 3986, garis miring di depan setelah bagian otoritas (nama host dan port) diperlakukan sebagai bagian dari jalur.

Perhatikan bahwa Anda dapat membuat URL seperti itu dengan +[NSURL fileURLWithPath:].


8
Bergantung dari mana Anda mendapatkan URL, Anda mungkin ingin memeriksa [myURL isFileURL]apakah benar.
Matt Connolly

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.