保存文件iOS时,将%20替换为空格字符

时间:2014-01-31 16:52:27

标签: objective-c file save space

我现在正在录制音频文件并保存到文档目录。给定名称包含空格字符。当我保存到文档目录时,空格字符更改为%20。我想知道如何正确保存,以便该音频文件名包含空格字符。

    NSString *myDBnew = [documentsDirectory stringByAppendingPathComponent:recordingAudioName ];
    NSURL *recordedTmpFile = [NSURL fileURLWithPath:myDBnew];

已编辑 - 这是录音并保存到本地目录。  
        recorder = [[AVAudioRecorder alloc] initWithURL:recordedTmpFile settings:recordSetting error:& error];

2 个答案:

答案 0 :(得分:1)

您正在使用NSURL,并且空格是URL中的无效字符。这就是为什么它被转换为%20。

答案 1 :(得分:0)

请使用

-(BOOL)writeToFile:options:error: 代替 -(BOOL)writeToURL:options:error:

writeToFileNSString为参数(不是NSURL)。空间以这种方式保存。

NSString *myDBnew = [documentsDirectory stringByAppendingPathComponent:recordingAudioName];
NSerror *error;
if (![data writeToFile:myDBnew options:0 error:&error]) {
    // Error handling
}