2011-10-14 5 views
-1

J'ai enregistré le son dans le fichier appelé "recordedTmpFile". Maintenant, je veux envoyer le fichier au serveur.Comment convertir un fichier son en fichier binaire et envoyer en http Post?

J'ai essayé ce code

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"recordedTmpFile" ofType:@"caf"]; 

NSData *postData = [filePath dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; 
//nsdata to string 
    NSString *content = [[NSString alloc] initWithBytes:[postData bytes] 
               length:[postData length] encoding: NSUTF8StringEncoding]; 

h obtenir la valeur nulle dans « contenu »

s'il vous plaît me aider à résoudre ce problème

Répondre

0

-ce que votre application enregistrer le son et l'écrire dans le fichier ? Rappelez-vous que l'ensemble de l'application est en lecture seule, donc si vous avez essayé d'écrire le fichier à un emplacement dans l'ensemble principal, comme votre code semble l'indiquer, l'opération d'écriture a probablement échoué. Si c'est le cas, alors il n'y a pas de fichier à lire ou à envoyer. Essayez de modifier le chemin d'accès à l'enregistrement des données dans le répertoire documents, qui est accessible en écriture.

+0

J'ai utilisé le code suivant pour stocker le son enregistré // Générer un fichier temporaire à utiliser par l'enregistrement. NSURL * recordedTmpFile = [NSURL fileURLWithPath: \t \t \t \t \t [NSTemporaryDirectory() stringByAppendingPathComponent: \t \t \t \t \t \t [NSString stringWithFormat: \t \t \t \t \t \t @ "Myrecording% d% @", i ++ , @ "caf"]]]; \t NSLog (@ "Utilisation du fichier appelé:% @", recordedTmpFile); – sarath

+1

Ce n'est pas la même chose que le chemin que vous essayez de lire. Vous essayez de lire à partir du paquet principal, qui a) n'est pas où vous avez écrit le fichier, et b) à nouveau, n'est pas accessible en écriture. – Caleb

Questions connexes