2013-12-17 70 views
2

我有我的程序中的代碼,但它似乎崩潰的程序,我不知道爲什麼。如何從iOS照片庫加載圖像到UIWebView?

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
{ 
    //Get Image URL from Library 
    NSURL *urlPath = [info valueForKey:UIImagePickerControllerMediaURL]; 
    NSString *urlString = [urlPath absoluteString]; 
    NSLog(urlString); 

    NSURL *root = [[NSBundle mainBundle] bundleURL]; 
    NSString *html; 
    html = @"<img src='"; 
    html = [html stringByAppendingString:urlString]; 
    html = [html stringByAppendingString:@"' />"]; 
    [MemeCanvas loadHTMLString:html baseURL:root]; 

    [picker dismissViewControllerAnimated:YES completion:^{}]; 

} 

它似乎是由於我將資產庫地址(urlString)追加到html字符串的部分引起的。我不知道爲什麼這會產生問題。

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSCFConstantString stringByAppendingString:]: nil argument' 

任何幫助表示讚賞。

在此先感謝。

+1

它打印什麼'NSLog(urlString);'? – Maulik

+0

原因很簡單,你追加了零字符串。 –

+0

urlString可能爲零 – Mathijs

回答

1

此鏈接是否有幫助?它解釋說,你不會得到一個圖像的URL,而是一個圖像對象。

UIImagePickerControllerMediaURL always nil for a photo

+0

謝謝,但這表明如果在iOS照片庫中選擇的項目不是電影,圖像將作爲UIImage返回。如果它讓我以一種可以將html格式化的方式使用這個圖像,這將會很好。你認爲這是可能的嗎? – X0r0N

+0

你不能直接這樣做。 webview本質上是一個指向網站的指針,因此圖片需要存在於webview所顯示的源文檔/文件中,因爲您的圖片不在源文檔中,您不能從webview中插入它。您需要將圖像上傳到Web服務位置,然後獲取該URL,否則如果圖像來自設備,則需要將該圖像插入到源文檔中。你在webview中顯示了什麼? –

+0

現在webview上沒有任何東西。一旦我可以從照片庫中獲取圖像顯示,我會在圖像周圍添加其他格式。它可能是將文件從照片庫複製到本地應用程序的目錄的解決方案。我會尋找一種方法來實現這一點。任何指導,將不勝感激。 – X0r0N

0

我猜你需要保存的文件目錄中的圖片,然後在網頁視圖中顯示。

+0

這是一個答案或評論?看起來像一個評論。 – Popeye

+0

這可能是一個解決方案,但我怎麼能從照片庫複製文件到我的應用程序目錄? – X0r0N