दिलचस्प पोस्ट
PHP में आउटपुट बफरिंग को अक्षम कैसे करें जेसन सीरियललाइजेशन से संपत्ति को बाहर कैसे करें एक डिवीजन को शेष स्क्रीन स्थान की ऊंचाई भरें जब इनपुट सत्यापन विफल रहता है तो अंगुलोज़ फॉर्म फ़ॉर्म को रोकता है ASP.NET कैसे उपयोगकर्ता के लिए स्ट्रीम करने के लिए फ़ाइल C ++ 11/14 के मूल्य में एक स्थानीय चरणीय लौटाए जा सकते हैं, जब कोई प्रतिलिपि / चाल शामिल नहीं है, तो रिवर्स वैल्यू के परिणामस्वरूप रॉल्यूवर द्वारा बनाए जा रहे हैं? एंड्रॉइड छवि और संपत्ति के आकार के बारे में जावा में विभाजित () विधि डॉट (।) पर काम नहीं करती एंड्रॉइड में सूची दृश्य उप मद पाठ जोड़ना पॉइंटर्स को समझने की बाधाएं क्या हैं और उनको दूर करने के लिए क्या किया जा सकता है? कंस्ट्रक्टर में यह अजीब कोलोन-सदस्य (":") वाक्यविन्यास क्या है? उद्देश्य सी में XML पार्सिंग का उपयोग करके विशेष चरित्र और थाई भाषा के साथ स्ट्रिंग कैसे पोस्ट करें रेल 3 में 'config.autoload_paths' में लिब जोड़ना मेरे मॉड्यूल को स्वत: लोड नहीं करता है एसक्यूएल सर्वर के लिए ग्रुप स्ट्रिंग एकत्रीकरण / LISTAGG Java.util.Scanner का उपयोग करके इनपुट की पुष्टि करना

उद्देश्य सी: HTTP पोस्ट का उपयोग करके छवि और पाठ कैसे अपलोड करें?

मैंने सफलतापूर्वक दो अलग-अलग तरीकों का निर्माण किया है, जहां उनमें से प्रत्येक एक छवि या पाठ को अपलोड कर सकता है। लेकिन मुझे एक ऐसी विधि लिखने में समस्या हो रही है जो पाठ और छवि दोनों को एक साथ पोस्ट कर सकती है!

// यहाँ मेरी नई विधि चुड़ैल काम करने के लिए अच्छा है thanxsgha:

- (void) upload { NSString *urlString = @"http://www.examplescript.com"; NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease]; [request setURL:[NSURL URLWithString:urlString]]; [request setHTTPMethod:@"POST"]; NSMutableData *body = [NSMutableData data]; NSString *boundary = [NSString stringWithString:@"---------------------------14737809831466499882746641449"]; NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@", boundary]; [request addValue:contentType forHTTPHeaderField:@"Content-Type"]; // file NSData *imageData = UIImageJPEGRepresentation(imageView.image, 90); [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[[NSString stringWithString:@"Content-Disposition: attachment; name=\"userfile\"; filename=\".jpg\"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[[NSString stringWithString:@"Content-Type: application/octet-stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[NSData dataWithData:imageData]]; [body appendData:[[NSString stringWithString:@"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; // Text parameter1 NSString *param1 = @"parameter text"; [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"parameter1\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[[NSString stringWithString:param1] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[[NSString stringWithString:@"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; // Another text parameter NSString *param2 = @"Parameter 2 text"; [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"parameter2\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[[NSString stringWithString:param2] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[[NSString stringWithString:@"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; // close form [body appendData:[[NSString stringWithFormat:@"--%@--\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; // set request body [request setHTTPBody:body]; //return and test NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding]; NSLog(@"%@", returnString); } 

// पुराना सवाल: जाहिर है यह बहुत आसान था और काम नहीं किया! कंसोल या कुछ भी में मुझे कोई त्रुटि नहीं मिली है, और छवि अपलोड की गई है, लेकिन पाठ नहीं भेजा गया है कोई विचार?

बीटीडब्ल्यू: सर्वर-साइड स्क्रिप्ट एक बहुत सरल PHP स्क्रिप्ट है

Solutions Collecting From Web of "उद्देश्य सी: HTTP पोस्ट का उपयोग करके छवि और पाठ कैसे अपलोड करें?"

इसे आज़माएं (संपादित):

 NSMutableData *body = [NSMutableData data]; // file [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[[NSString stringWithString:@"Content-Disposition: attachment; name=\"userfile\"; filename=\".jpg\"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[[NSString stringWithString:@"Content-Type: application/octet-stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[NSData dataWithData:imageData]]; [body appendData:[[NSString stringWithString:@"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; // text parameter [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"parameter1\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[parameterValue1 dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[[NSString stringWithString:@"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; // another text parameter [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"parameter2\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[parameterValue2 dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[[NSString stringWithString:@"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; // close form [body appendData:[[NSString stringWithFormat:@"--%@--\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; // set request body [request setHTTPBody:body]; 

मैं एक ही पोस्ट में अन्य डेटा के साथ एक छवि अपलोड करना चाहता था, छवियों को अपलोड करने के बारे में अधिक जानकारी केवल एक सर्वर कनेक्शन में अकेले छवि अपलोड करने के लिए है, यहां बताया गया है कि मैं इसे कैसे हल करता हूं

यह PHP है

 <?php /* As you can see there are more values not only the image */ $variableOne = $_POST['variableOne']; $variableTwo = $_POST['variableTwo']; $variableThree = $_POST['variableThree']; $variableFour = $_POST['variableFour']; $variableFive = $_POST['variableFive']; $variableSix = $_POST['variableSix']; $variableSeven = $_POST['variableSeven']; $variableEight = $_POST['variableEight']; $variableNine = $_POST['variableNine']; $variableTen = $_POST['variableTen']; /* Our image */ $image = $_REQUEST['image']; /* This is for trying to get a unique name for the image file, since maybe you want to store large amount of images */ $currentDate = date("Ymd"); $name = "" . $currentDate . microtime() . rand(0, 999) . rand(0, 999) . rand(0, 999) . ".jpg"; /* * Here comes the image stuff */ if (file_exists($name)) { echo "File already exists"; } else { /* Decoding image */ $binary = base64_decode($image); /* Opening image */ $file = fopen($name, 'wb'); /* Writing to server */ fwrite($file, $binary); /* Closing image file */ fclose($file); echo "Added"; } } ?> 

फिर Xcode में कॉपी करें और इस विधि को चिपकाएं ( NSData से बेस -64 स्ट्रिंग बनाने से लिया गया)

 - (NSString*)base64forData:(NSData*) theData { const uint8_t* input = (const uint8_t*)[theData bytes]; NSInteger length = [theData length]; static char table[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; NSMutableData* data = [NSMutableData dataWithLength:((length + 2) / 3) * 4]; uint8_t* output = (uint8_t*)data.mutableBytes; NSInteger i; for (i=0; i < length; i += 3) { NSInteger value = 0; NSInteger j; for (j = i; j < (i + 3); j++) { value <<= 8; if (j < length) { value |= (0xFF & input[j]); } } NSInteger theIndex = (i / 3) * 4; output[theIndex + 0] = table[(value >> 18) & 0x3F]; output[theIndex + 1] = table[(value >> 12) & 0x3F]; output[theIndex + 2] = (i + 1) < length ? table[(value >> 6) & 0x3F] : '='; output[theIndex + 3] = (i + 2) < length ? table[(value >> 0) & 0x3F] : '='; } return [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding]; } 

YourViewController.h फ़ाइल में

 @interface YourViewController : UIViewController { NSURLConnection *serverConnection; NSMutableData *returnData; } 

यह सर्वर कनेक्शन कोड है

 NSURL *sendURL = [NSURL URLWithString:@"http://yourdomainname/imagefolder/phpscript.php"]; NSMutableURLRequest *sendRequest = [NSMutableURLRequest requestWithURL:sendURL cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:30]; [sendRequest setHTTPMethod:@"POST"]; [sendRequest setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; NSData *imageData = UIImageJPEGRepresentation(yourImage, 1.0); NSString *encodedString = [[self base64forData:imageData] stringByReplacingOccurrencesOfString:@"+" withString:@"%2B"]; NSString *dataToSend = [[NSString alloc] initWithFormat:@"variableOne=%@&variableTwo=%@&variableThree=%@&variableFour=%@&variableFive=%@&variableSix=%@&variableSeven=%@&variableEight=%@&variableNine=%@&variableTen=%@&image=%@", valueOne, valueTwo, valueThree, valueFour, valueFive, valueSix, valueSeven, valueEight, valueNine, valueTen, encodedString]; [sendRequest setHTTPBody:[dataToSend dataUsingEncoding:NSUTF8StringEncoding]]; serverConnection = [[NSURLConnection alloc] initWithRequest:sendRequest delegate:self]; [serverConnection start]; 

सर्वर कनेक्शन के लिए प्रतिनिधि विधियां सेट करें

 - (void) connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response { returnData = [[NSMutableData alloc] init]; } - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data { [returnData appendData:data]; } - (void)connectionDidFinishLoading:(NSURLConnection *)connection { if (connection == serverConnection) { NSString *responseString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding]; NSLog(@"Response: %@", responseString); if ([responseString isEqualToString:@"Added"]) { /* Make something on success */ } else { /* Make something else if not completed with success */ } } } - (void) connection:(NSURLConnection *)connection didFailWithError:(NSError *)error { /* Make something on failure */ } 

यह कोड मेरे लिए 1 छवि और 7 अन्य मापदंडों के साथ POST अनुरोध का उपयोग करता है

अपने चर नामों और मानों और छवि पैरामीटर नाम प्लस 'शोफोटो' को बदलना सुनिश्चित करें जो कि मेरा आईबीओटलेट यूआईमेजव्यूज ऑब्जेक्ट 'नाम' यूआरएल पैरामीटर नाम दिखाता है।

NSString * str = @ " http: //xxx.xxx.xxx.xx/xxxx/xxxxx/xxxxx.php?action = add_place "; NSString * urlString = [NSString stringWithFormat: @ "% @", str];

 NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; [request setURL:[NSURL URLWithString:urlString]]; [request setHTTPMethod:@"POST"]; NSMutableData *body = [NSMutableData data]; NSString *boundary = @"---------------------------14737809831466499882746641449"; NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary]; [request addValue:contentType forHTTPHeaderField: @"Content-Type"]; NSData *imageData = UIImageJPEGRepresentation(_showPhoto.image, 90); [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[@"Content-Disposition: form-data; name=\"host_pic\"; filename=\"parkN.jpg\"\r\n" dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[@"Content-Type: application/octet-stream\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:imageData]; [body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]]; // parameter username [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"userID\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[@"17" dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]]; // parameter token [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"longitude\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[@"50.0011" dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]]; // parameter token [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"latitude\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[@"50.0011" dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]]; // parameter method [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"place_name\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[@"lahore" dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]]; //parameter method [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"place_description\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[@"lahore" dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]]; //parameter method [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"zip_code\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[@"123456" dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]]; //parameter method [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"phone_number\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[@"033333333" dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]]; // close form [body appendData:[[NSString stringWithFormat:@"--%@--\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; // setting the body of the post to the reqeust [request setHTTPBody:body]; NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; // NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding]; NSDictionary *dict=[NSJSONSerialization JSONObjectWithData:returnData options:NSJSONReadingMutableLeaves error:nil]; NSLog(@"%@",dict); 

यदि आप छवि का नाम देना चाहते हैं:

  NSMutableString *nombreImagen= [[NSMutableString alloc]init]; [nombreImagen appendString:@"Content-Disposition: attachment; name=\"file\"; filename=\""]; [nombreImagen appendString:@"hoy"]; [nombreImagen appendString:@".jpg\"\r\n"]; ....... [body appendData:[[NSString stringWithString:nombreImagen] dataUsingEncoding:NSUTF8StringEncoding]];