1

サーバー上のテキスト ファイル内のサーバー上に label.text をアップロードしようとしています。これが私のコードです。エラーは表示されていませんが、ファイルはサーバー上に作成されていますが、テキストは表示されていません。助けてください。

NSString *post =[[NSString alloc] initWithFormat:@"VIN: %@",vincode.text];
        NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding
                              allowLossyConversion:NO];
        NSString *postLength = [NSString stringWithFormat:@"%d", [postData
                                                                  length]];
        NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init]
                                        autorelease];
        [request setURL:[NSURL URLWithString:@"Server Detail Here/upload_vin.php"]]; 
        [request setHTTPMethod:@"POST"];
        [request setValue:postLength forHTTPHeaderField:@"Content-Length"];
        [request setValue:@"application/x-www-form-urlencoded"
       forHTTPHeaderField:@"Content-Type"];
        [request setHTTPBody:postData];
        NSData *urlData = [NSURLConnection sendSynchronousRequest:request
                                                returningResponse:nil error:nil];
        NSLog(@"Succeeded! Received %d bytes of data",[urlData length]);
        NSLog(@"VIN is %@",vincode.text);
        NSString *outputdata = [[NSString alloc] initWithData:urlData
                                                     encoding:NSASCIIStringEncoding];
        NSLog(@"Outputdata is %@",outputdata);
        NSURLResponse *response;
        NSError *error;
        [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
        if(error==nil)
            NSLog(@"Error is nil");
        else
            NSLog(@"Error is not nil");
        NSLog(@"success!");
PHP file::::::::::::::
    <?php
    $file = "VinCodes.txt";
    #$submitted_vincode = $_GET['VIN'] . " \n";
    $submitted_vincode = @$_POST['VIN'] . " \n";
    if(!empty($submitted_vincode)){
    $Handle = fopen($file, 'a');
        fwrite($Handle, $submitted_vincode); 
        print "Vin Code stored in file."; 
        fclose($Handle);
    }else{
        print "Vin code is missing. Try again";
    }
    ?>
4

1 に答える 1

0

多くのコードへの道、これが私がしていることです(非同期にアップロードすることに注意してください):

NSURL *url = [NSURL URLWithString: @"http://..."];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:data];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[NSURLConnection sendAsynchronousRequest:request ...

ところで、あなたは本当に欲しいNSASCIIStringEncodingのですかNSUTF8StringEncoding

疑わしい場合は、Charles Web Proxy (30 日間無料) を使用して、送信された内容と応答を正確に確認します。

于 2013-03-31T15:33:18.150 に答える