繁体   English   中英

AFNetworking不上传图像

[英]AFNetworking not uploading image

我正在尝试通过AFnetworking上传图像。 我可以获取图片网址,并且确实可以与我的服务器联系。 但是,它不会上传。 文件上传文件夹为空,当我取回JSON响应时,它为“空”

   - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
UIImage *image = [info valueForKey:UIImagePickerControllerOriginalImage];


ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
// Request to save the image to camera roll
[library writeImageToSavedPhotosAlbum:[image CGImage] orientation:(ALAssetOrientation)[image imageOrientation] completionBlock:^(NSURL *assetURL, NSError *error){
    if (error) {
        NSLog(@"error");
    } else {
        NSLog(@"url %@", assetURL);
        NSData *data = [NSData dataWithContentsOfURL:assetURL];
        NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
        path = [path stringByAppendingString:@"/image.jpg"];
        [data writeToFile:path atomically:YES];
        [self uploadPhoto:path];
       // NSLog(path);
        [self dismissModalViewControllerAnimated:NO];
    }  
}];

}
    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
        NSDictionary *parameters = @{@"foo": self.targetid};
        NSURL *filePath = [NSURL fileURLWithPath:file];
       [manager POST:@"http:/****/uploadpics.php" parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
       [formData appendPartWithFileURL:filePath name:@"image" error:nil];
} success:^(AFHTTPRequestOperation *operation, id responseObject) {
    NSLog(@"Success: %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    NSLog(@"Error: %@", error);
}];

图片网址如下所示:

/var/mobile/Applications/FFCAE923-1115-4209-AB39-D9D1ACEB9CB7/Documents/yourLocalImage.png 

我似乎无法弄清楚我在做什么错。该脚本很好,因为它可以像预期的那样在android上工作...

PHP:

$name = $_FILES['filename']['name'];

if (is_uploaded_file($_FILES['filename']['tmp_name'])){
   if (move_uploaded_file($_FILES['filename']['tmp_name'], $folder.$_FILES ['filename']         ['name'])) {
     Echo  $foname;
 } else {

  }
} else {

}

您的上传代码命名了文件image但脚本似乎需要filename 我有一段时间没有做任何PHP了,但我认为它们应该匹配。

还有另一种方法,它允许您指定要添加到表单数据中的零件的更多详细信息,因此可能需要使用它来设置适当的名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM