簡體   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