我有一个 importFile 存储在 NSString* importFile(用 NSLog %@ 打印):
/var/mobile/Applications/5CE1D252-E56A-4AAC-B88E-5B0CEFFF55B3/Library/Caches/tmp/temp_695D39E3-3359-415F-9C0D-243E2E117B8B-456-0000001384C17BBA.tmpfile
然后我收到一个 destinationFile NSString * destinationFile 的值(用 NSLog %@ 打印)
/var/mobile/Applications/5CE1D252-E56A-4AAC-B88E-5B0CEFFF55B3/Documents/Str%208829%20-%20Test.500887280
然后我使用 NSFileManager 移动文件:
NSFileManager* fileManager = [NSFileManager defaultManager];
assert(fileManager != nil);
NSError* error = nil;
[fileManager moveItemAtPath:importFile toPath:destinationFile error:&error];
问题是移动后的实际文件名与请求的目标文件不同:
Str%25208829%2520-%2520Test.500887280
这是怎么回事?那些看起来有区别的额外三个 25 是什么?
最佳答案
看起来文件名中的 %
被编码为 %25
(百分比的百分比代码)
关于objective-c - NSFileManager moveItemAtPath :toPath:error: changes filename,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13771969/