iphone: Bild hochladen, um server mit ASIFormDataRequest
Habe ich ein Bild hochladen, um server, für die ich schrieb code mit NSMutableURLRequest wie diese
NSString *boundary = [NSString stringWithString:@"---------------------------14737809831466499882746641449"];
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];
[request addValue:contentType forHTTPHeaderField: @"Content-Type"];
//
// /*
// now lets create the body of the post
// */
NSMutableData *body = [NSMutableData data];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"userfile\"; filename=\"ipodfile%@.jpg\"\r\n",self.fileID] 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]];
Ich glaube, dass mein PHP-script reagieren entsprechend und ist in Ordnung, die
wie kann ich replizieren oben in ASIFormDataRequest?
versucht, dies zu tun
ASIFormDataRequest* request = [ASIFormDataRequest requestWithURL:
[NSURL URLWithString:photoUploadURLString]];
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=\"userfile\"; filename=\"ipodfile%@.jpg\"\r\n",self.fileID] 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]];
[request addData:body withFileName:filename andContentType:@"image/jpeg" forKey:@"snapshot[image]"];
request.uploadProgressDelegate = self.progressView;
[request setDidFinishSelector:@selector(getFacebookPhotoFinished:)];
aber nicht bekam, Erfolg?
hier sind die details von meinem PHP-Skripte
<?php
$uploaddir = './uploads/';
$file = basename($_FILES['userfile']['name']);
$uploadfile = $uploaddir . $file;
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "http://example.com/uploads/{$file}";
}
?>
Habe ich als pro Cyprian
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *savedImagePath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"images/ipodfile%@.jpg", fileID]];
NSData *imageData = UIImageJPEGRepresentation([itemImageView image], 0.05);
if (imageData != nil) {
[imageData writeToFile:savedImagePath atomically:YES];
}
if ([[NSFileManager defaultManager] createFileAtPath:savedImagePath contents:imageData attributes:nil])
{
NSLog(@"Image saved");
} else {
NSLog(@"Image not saved");
}
[activityIndicator startAnimating];
NSString *photoUploadURLString = @"http://example.com/imageuploader.php";
NSString* filename = [NSString stringWithFormat:@"ipodfile%@.jpg", self.fileID];
NSLog(@"url is %@/%@",photoUploadURLString, filename);
UIImage *newImage = [[UIImage alloc] init];
newImage=[itemImageView image];
NSURL *url=[NSURL URLWithString:photoUploadURLString];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setPostValue:@"userfile" forKey:@"name"];
[request setPostValue:filename forKey:@"filename"];
[request setData:imageData withFileName:filename andContentType:@"image/jpeg" forKey:@"snapshot[image]"];
- Können Sie genauer zu sein auf das, was schief geht?
- meine Frage ist einfach, wie van poste ich Bild mit ASIHTTP Anfrage, so dass oben genannte PHP-Skript speichern können Bild-uploads-Verzeichnis
- Keine Fehler??? Keine Antwort vom server? Schwer zu sagen, was hier falsch. Noch mehr details, ich glaube nicht, dass wir erraten können, was falsch läuft in Ihrem code.
- bitte nicht falsch verstehen, aber ich bin mir überhaupt nicht sicher, wie zu replizieren, die veränderlich Anfrage an asi Anfrage
- Folgen Sie bitte [hier][1] Schön answerd [1]: stackoverflow.com/questions/22115587/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Beim hochladen der Datei auf server mit ASIFormDataRequest
Hinweis war ich die Eingabe aus dem Speicher, so müssen Sie möglicherweise einige Rechtschreibfehler.
file name for key "name"
... und so weiter