2012-04-19 44 views
1

这里是我的代码upload an audio fileI tried lot of questions and answers in stackoverflow。但我仍然没有得到任何改善。我必须上传带有php link的音频文件。如果我这样做,我总是得到像“already exists”这样的回应。我试图改变文件名并上传它。仍然得到同样的回应。其实我必须收到来自服务器的回应,作为我上传文件的链接。我没有任何关于php的知识。任何人都可以帮助我。任何帮助将不胜感激,以清除我的问题。上传音频文件并在ios中收到意外的响应

NSData *fileData=[NSData dataWithContentsOfURL:soundFileURL]; 
    NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://somesite.com/upload.php"]]; 
    [request setHTTPMethod:@"POST"]; 

    NSString *boundary = [NSString stringWithString:@"---------------------------14737809831466499882746641449"]; 
    NSMutableData *body = [[NSMutableData alloc]init]; 
    [body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]]; 
    [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"userfile\"; filename=\"fvgv4r346r4r4h3ur543ty5u54y5u4574545g4g5.samr\"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; 
    //[soundFileURL lastPathComponent] 
    [body appendData:[[NSString stringWithString:@"Content-Type: music/samr\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; 
    [body appendData:fileData]; 
    [body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]]; 
    [request setHTTPBody:body]; 
    NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary]; 
    [request addValue:contentType forHTTPHeaderField: @"Content-Type"]; 

// NSLog(@"%@",[NSString stringWithUTF8String:[body bytes]]); 

    NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; 
    NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding]; 
    NSLog(@"%@",returnString); 

回答

1

[body appendData:[[NSString stringWithString:@"Content-Type: music/samr\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];

我怀疑这行

还要检查你的输入变量