2016-11-10 3 views
1

Ich möchte Sprachaufzeichnung auf dem Server hochladen.konvertieren URL in NSData

Meine Datei-URL ist:

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

mein Code:

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

Aber die Daten sind gleich Null.

+0

sehen dies einmal http://stackoverflow.com/questions/11525942/play-audio-ios-objective- c –

+0

Versuchen Sie, absoluteURL zu verwenden 'NSData * data = [NSData dataWithContentsOfURL: [audioURL absoluteURL] Optionen: NSDataReadingUncached Fehler: & Fehler];' – nynohu

+0

Nicht funktioniert, auch Nil tritt auf. –

Antwort

0

Verwenden Sie diesen Code, um Daten aus Dokumentenordner erhalten:

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

Sie müssen nur tun:

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

Versuchen Sie, diese

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

funktioniert nicht mehr .. –

1

Bitte versuchen Sie unter Code

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]]]; 

Viel Glück .....

0

Nach Lauf:
file: /// Users/xantatech/Library/Developer/CoreSimulator/Geräte/77F4D768-1F04-4390-B60F-F1FE79388653/data/Behälter/Daten/Anwendung/"87C457FA-1A9F-4CA9-A651-6A3D411A0B7E" /Documents/myAudio0.mp3
den fett gedruckten Text "87C457FA-1A9F-4CA9-A651-6A3D411A0B7E" kann sich ändern;
Sie sollten immer die Methode verwenden, den Pfad in SandBox zu erhalten:

NSString *path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)lastObject] stringByAppendingPathComponent:@"myAudio0.mp3"]; 

Verwandte Themen