2011-03-26 76 views
1

我試圖通過ALAssetsLibrary訪問iPhone的相冊照片圖像並將圖像上傳(發送)到我的服務器。我是成功的訪問相冊,讓每個圖像的URL資產,通過下面的代碼:將ALAsset URL圖像上傳到服務器

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 


    void (^assetEnumerator)(struct ALAsset *, NSUInteger, BOOL *) = ^(ALAsset *result, NSUInteger index, BOOL *stop) { 
     if(result != NULL) { 
      NSLog(@"See Asset: %@", result); 
      [assets addObject:result]; 
      // Here storing the asset's image URL's in NSMutable array urlStoreArr 
      NSURL *url = [[result defaultRepresentation] url]; 
      [urlStoreArr addObject:url]; 
     } 
    }; 

    void (^assetGroupEnumerator)(struct ALAssetsGroup *, BOOL *) = ^(ALAssetsGroup *group, BOOL *stop) 
    { 

     if(group != nil) { 
      [group enumerateAssetsUsingBlock:assetEnumerator]; 
     } 
     [self.activity stopAnimating]; 
     [self.activity setHidden:YES]; 
    }; 
    assets = [[NSMutableArray alloc] init]; 
    library = [[ALAssetsLibrary alloc] init]; 
    [library enumerateGroupsWithTypes:ALAssetsGroupAlbum 
          usingBlock:assetGroupEnumerator 
         failureBlock: ^(NSError *error) { 
          NSLog(@"Failure"); 
         }]; 

    urlStoreArr = [[NSMutableArray alloc] init]; 
} 

    -(void) UploadImagesToServer 
{ 

for (int i=0; i<[urlStoreArr count]; i++) 

{ 

     // To get the each image URL here... 

     NSString *str = [urlStoreArr objectAtIndex:i]; 
     NSLog(@"str: %@",str); 

     // Need to upload the images to my server.. 

    } 


} 

我要上傳這是我從裝置資產的URL得到了我的服務器的圖像。有人請告訴我如何編程它發送圖像到使用這種情況下的服務器?

謝謝!

回答

0

你可以使用下面的SO郵政編碼上傳圖片到服務器。

How can I upload a photo to a server with the iPhone?

upload image from iphone to the server folder

+0

非常感謝Jhaliya!第二個鏈接幫助很多。我還有一個額外的問題,如果我想上傳從ALAsset URL路徑獲得的視頻文件,該怎麼辦? – Getsy 2011-03-26 14:35:37

+0

很高興聽到它的幫助你:你需要遵循相同的過程,除了你的NSData將保存視頻數據,而不是圖像... – Jhaliya 2011-03-26 14:43:47

+0

不幸的是,我無法使用我在iOS 4.1上的實際查詢中提到的ALAssetsLibrary代碼獲取圖像URL設備,不知道爲什麼?它在iOS 4.0模擬器上正常工作。如果有人知道爲什麼它不能在物理設備上工作,請告訴我我該怎麼辦? – Getsy 2011-03-28 16:19:33