Jak mogę przesłać niektóre informacje tekstowe (ciąg tekstowy) i plik obrazu za pomocą tego samego żądania http post na serwer. Przesyłam zdjęcia same, ale nie mogę uzyskać z tego tekstu. Dzięki!Jak wysłać dane pocztowe i plik obrazu do serwera Xcode
Odpowiedz
użyć tego kodu, aby przesłać obraz i textLabel
NSData *imageData = UIImageJPEGRepresentation("yourImage",0.2); //change Image to NSData
if (imageData != nil)
{
filenames = [NSString stringWithFormat:@"TextLabel"]; //set name here
NSLog(@"%@", filenames);
NSString *urlString = @"http://xxxxxxx/yyyyy.php";
NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
[request setURL:[NSURL URLWithString:urlString]];
[request setHTTPMethod:@"POST"];
NSString *boundary = [NSString stringWithString:@"---------------------------14737809831466499882746641449"];
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];
[request addValue:contentType forHTTPHeaderField: @"Content-Type"];
NSMutableData *body = [NSMutableData data];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"filenames\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[filenames dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithString:@"Content-Disposition: form-data; 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 stringWithFormat:@"\r\n--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
// setting the body of the post to the reqeust
[request setHTTPBody:body];
// now lets make the connection to the web
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];
NSLog(returnString);
NSLog(@"finish");
}
W użyciu bocznej php ten kod
$myparam = $_POST['userfile']; //getting image Here
$mytextLabel= $_POST['filenames'] //getting textLabe Here
echo $myparam;
echo $mytextLabel;
$target_path = "uploads/";
$target_path = $target_path . basename($_FILES['myfile']['name']);
if(move_uploaded_file($_FILES['myfile']['tmp_name'], $target_path)) {
echo "The file ". basename($_FILES['myfile']['name']) . " has been uploaded";
} else {
echo "There was an error uploading the file, please try again!";
}
Wystarczy dodać następującą metodę Na przycisku na kliknięcie:
-(void) uploadImage
{
prodNam = txtProdName.text;
UIImage * img = [UIImage imageNamed:@"SRT2.jpg"];
NSData *imageData = UIImageJPEGRepresentation(img,0.2); //change Image to NSData
if (imageData != nil)
{
NSString * filenames = [NSString stringWithFormat:@"TextLabel"];
NSLog(@"%@", filenames);
NSString *urlString = @"http://dev9.edisbest.com/upload_image.php";
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init] ;
[request setURL:[NSURL URLWithString:urlString]];
[request setHTTPMethod:@"POST"];
NSString *boundary = @"---------------------------14737809831466499882746641449";
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];
[request addValue:contentType forHTTPHeaderField: @"Content-Type"];
NSMutableData *body = [NSMutableData data];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"filenames\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[filenames dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[@"Content-Disposition: form-data; name=\"userfile\"; filename=\"TestEdreamzIpad.jpg\"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[@"Content-Type: application/octet-stream\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[NSData dataWithData:imageData]];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[request setHTTPBody:body];
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];
NSLog(@"Response : %@",returnString);
if([returnString isEqualToString:@"Success ! The file has been uploaded"])
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Success" message:@"Image Saved Successfully" delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil];
[alert show];
}
NSLog(@"Finish");
}
}
Można umieść dowolny obraz w miejscu "SRT2.jpg" w lokalnej hierarchii xcode.
Wszystkie najlepsze ...
Hej, czy możesz też przesłać swój kod PHP? Wypróbowałem Twój kod, ale zawsze było napisane "Wystąpił błąd podczas przesyłania pliku, spróbuj ponownie!" i żadne dane nie pojawiają się na moim serwerze ... –
@ LaurenzGlück: Kod Dla: upload_image.php Php $ target_path = "iphonetest /"; $ target_path = $ target_path.$ _FILES ['userfile'] ['name']; $ filename = $ _FILES ['userfile'] ['name']; if (move_uploaded_file ($ _ PLIKI ['userfile'] ['tmp_name'], $ target_path) { echo "1"; } else { echo "0"; } ?> "iphonetest" to katalog serwera umieszczony w katalogu głównym. Użyj i odpowiedz, czy jest to dla ciebie warte? – Pushkraj
@ LaurenzGlück: Php include ("include/connect.php"); include ("../ wp-config.php"); /** * ścieżka do przesyłania obrazu do dodania produktu */ $ wp_upload_dir = wp_upload_dir(); $ target_path = $ wp_upload_dir ['ścieżka']. '/'; $ target_path = $ target_path. $ _ PLIKI ['userfile'] ['name']; $ filename = $ _FILES ['userfile'] ['name']; if (move_uploaded_file ($ _ PLIKI ['userfile'] ['tmp_name'], $ target_path) { echo "1"; echo $ target_path; } else { echo "0"; echo $ target_path; } ?> – Pushkraj
Moje serwisy internetowe to ten i działa dobrze!
Po prostu użytkownik SVHttp Request do przesyłania plików na serwer.
wyślij imagefile i innych pasz w parametrze:
NSMutableDictionary *data = [[NSMutableDictionary alloc] init];
[data setObject:imageData forKey:@"image"];
[data setObject:@"saveimage" forKey:@"action"];
[data setObject:userId forKey:@"userid"];
[data setObject:@"png" forKey:@"type"];
I uczynić Zapytanie:
SVHTTPClient *request = [SVHTTPClient sharedClient];
[request setBasicAuthWithUsername:nil password:nil];
[request setSendParametersAsJSON:NO];
[request POST:[NSString stringWithFormat:@"http://bylyngo.com/getapi/?action=saveimage&userid=%@&type=png",userId]
parameters:data
progress:^(float progress) {
NSLog(@"Uploading (%.0f%%)", progress*100);
}];
Dostaniesz nawet postępy.
:)
- 1. Curl dane pocztowe i nagłówki tylko
- 2. Przeczytaj dane pocztowe przesłane do formularza ASP.Net
- 3. jak wysłać plik audio z klienta Android do serwera serwletu
- 4. Uzyskaj dane pocztowe, Zend Framework
- 5. Jak wysłać wiadomość z serwera do klienta
- 6. Backbone.js - jak zapisać model przez formularz i wysłać do serwera
- 7. wget plik i wysłać go do bash
- 8. Jak wysłać dane przez PendingIntent do transmisji?
- 9. SignalR: Jak wysłać dane do IConnected.Connect()
- 10. Python, jak wysłać dane wyjściowe do pliku i terminala
- 11. Czysta JavaScript wysyłać dane pocztowe bez formularza
- 12. Pobierz wszystkie dane pocztowe z żądania
- 13. Jak wysłać dane asynchroniczne przez libwebsocket?
- 14. Jak mogę wysłać ByteArray (z Flash) i niektóre dane formularzy do php?
- 15. ReactJS komponent załadować plik do wiosny MVC serwera/Dane REST
- 16. Jak wysłać plik do portu com1?
- 17. Laravel: Jak wysłać obraz lub plik do API
- 18. Jak wysłać XML do serwera poprzez formularz HTML?
- 19. Szyny 3 otrzymują surowe dane pocztowe i zapisują je do pliku tmp
- 20. JSON IPHONE: Jak wysłać żądanie JSON i pobrać dane z serwera?
- 21. Jak wysyłać dane pocztowe w obszarach start_urls z pająka do scrapy
- 22. Jak wysłać dane z działania do jego fragmentu macierzystego?
- 23. cant wysłać plik pdf z e-mail xcode
- 24. Przesyłanie słownika na żądanie pocztowe
- 25. Jak wysłać dane wieloczęściowe/formularzowe do serwera WWW z systemu Android?
- 26. Jak dodać dane EXIF do obrazu?
- 27. Dodaj plik mobileprovision do Xcode
- 28. Jak pobrać plik do klienta z serwera?
- 29. IOS: jak wysłać widok obrazu z powrotem i z przodu
- 30. Jak wysłać dane POST z kodem w internetowej wersji Androida
Która usługa to jest? –
Cel c, To jest podobne pytanie, ale potrzebuję tekstu. – sebi
http://stackoverflow.com/questions/125306/how-can-i-upload-a-photo-to-a-server--the-iphone – sebi