将URL转换为NSData

3

我想上传语音录制到服务器上。

我的文件链接是:

file:///Users/xantatech/Library/Developer/CoreSimulator/Devices/77F4D768-1F04-4390-B60F-F1FE79388653/data/Containers/Data/Application/87C457FA-1A9F-4CA9-A651-6A3D411A0B7E/Documents/myAudio0.mp3

我的代码是:

NSData* data = [NSData dataWithContentsOfURL:audioURL options:NSDataReadingUncached error:&error];

但是数据为空。


请查看此链接:https://dev59.com/f2gu5IYBdhLWcg3wK0Gr - Anbu.Karthik
尝试使用absoluteURL NSData* data = [NSData dataWithContentsOfURL:[audioURL absoluteURL] options:NSDataReadingUncached error:&error]; - nynohu
未能工作,同时出现了 nil。 - Hari Mohan
try dataWithContentsOfFile - Rajat
我也使用过。 - Hari Mohan
6个回答

1
请尝试以下代码。
NSString *audioURLString = @"file:///Users/xantatech/Library/Developer/CoreSimulator/Devices/77F4D768-1F04-4390-B60F-F1FE79388653/data/Containers/Data/Application/87C457FA-1A9F-4CA9-A651-6A3D411A0B7E/Documents/myAudio0.mp3";
NSString *sendStr = [[audioURLString absoluteString] stringByReplacingOccurrencesOfString:@"file:///private" withString:@""];
NSData *data = [[[NSData dataWithContentsOfFile:sendStr]]];

祝你好运.....


0

使用此代码从文档文件夹获取数据:

if([[NSFileManager defaultManager] fileExistsAtPath:filepath)
{
   NSData *data = [[NSFileManager defaultManager] contentsAtPath:filepath];
}
else
{
   NSLog(@"File not exits");
}

0

你只需要做:

NSURL *imgPath = [[NSBundle mainBundle] URLForResource:@"test" withExtension:@"png"];
NSString *path = [imgPath absoluteString];  
NSData *data = [NSData dataWithContentsOfURL: [NSURL URLWithString:path];

0

试试这个

NSData* data =[[NSData alloc]init];
data = [NSData dataWithContentsOfFile:[NSURL URLWithString:path]];

0
在运行之后:
file:///Users/xantatech/Library/Developer/CoreSimulator/Devices/77F4D768-1F04-4390-B60F-F1FE79388653/data/Containers/Data/Application/"87C457FA-1A9F-4CA9-A651-6A3D411A0B7E"/Documents/myAudio0.mp3
粗体文本中的"87C457FA-1A9F-4CA9-A651-6A3D411A0B7E"可能会改变;
您应该始终使用获取沙盒路径的方法:
NSString *path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)lastObject] stringByAppendingPathComponent:@"myAudio0.mp3"];


0
你可以使用这个:
NSData *data = [NSData dataWithContentsOfURL:yourURL];

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接