1

这是我的代码upload an audio fileI tried lot of questions and answers in stackoverflow. 但我仍然没有得到任何改善。我必须上传一个带有php link. 如果我这样做,我already exists总是得到像“”这样的回应。我试图更改文件名并上传它。仍然得到相同的响应。实际上,我必须从服务器接收响应作为我上传的文件的链接。我对此一无所知php。任何人都可以帮我解决这个问题。任何帮助将不胜感激,以解决我的问题。

   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);
4

1 回答 1

1

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

我怀疑这条线

还要检查您的输入变量

于 2012-04-19T12:33:06.870 回答