我正在使用 AVAssetReader 创建一个可以在我的计算机上本地播放的 .caf 文件。但是,当我尝试将 .caf 上传到服务器时,无法再读取上传的文件。这是我的代码:
NSLog(@"Posting to server");
NSURL *serverURL = [NSURL URLWithString:serverString];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:serverURL];
[request setRequestMethod:@"POST"];
[request setData:songData
withFileName:@"exported.caf"
andContentType:@"audio/x-caf"
forKey:@"musicfile"];
[request setDelegate:self];
[request startAsynchronous];
有趣的是,当我执行以下操作时,生成的文件可以在我的计算机上运行:
NSString *applicationDocumentsDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *storePath = [applicationDocumentsDir stringByAppendingPathComponent:@"test.caf"];
[songData writeToFile:storePath atomically:NO];
我是否必须在 musicData 中附加某种类型的标头才能正确格式化 .caf?