簡體   English   中英

從服務器下載沒有文件擴展名的圖像(NSData到UIImage)

[英]Downloading image from server without file extension (NSData to UIImage)

從我的服務器上,我提取了一個應該只是個人資料圖片的網址。 從URL下拉圖像的相關代碼是這樣的:

NSString *urlString = [NSString stringWithFormat:@"%@%@",kBaseURL,profile_image_url];
profilePic = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:urlString]]];

我的網址采用以下格式(請注意,由於它是動態呈現的,因此最后沒有文件擴展名)

localhost:8000/people/1/profile_image

如果將URL加載到瀏覽器中,則會顯示圖像; 但是,上面用於拉下UIImage的代碼不起作用。 我已經驗證該代碼確實可以從Internet上的隨機站點提取圖像。

為什么會這樣呢?

如果您輸入NSURL是否有效

http://localhost:8000/people/1/profile_image

我想http://在這里很重要(以便NSURL知道它是指向文件還是指向遠程URL)。

之所以無法在UIImageView中顯示它,是因為UIImageView不知道它的格式(jpeg,png等)。
將來編碼的一個好方法是始終使用擴展。 不要捷徑,它們總是會變得更糟,您必須一遍又一遍地修復它們。

首先檢查以下內容:

權限:從只讀更改為讀寫。

我在我的項目中嘗試了多種方法來顯示服務器上的圖片,而我發現的最突出的問題是,默認情況下,您的localhost文件夾為只讀,並且您還需要更改權限。...最初,我認為只讀如果我只是因為技術上只是加載圖片而已,那么我只是在閱讀內容,對。 但這確實很重要。

空格

您還要檢查的另一件事是包含空白的圖像名稱,如果包含空白,則在發出URL請求時需要從圖像名稱中刪除空白。

如果沒有任何效果,請嘗試添加擴展名。如果一切正常,請嘗試使用顯然可以正常運行的擴展名加載圖像。

也為我們提供一些初始編碼

讓我們知道您的代碼段和控制台輸出 ,這些代碼段和控制台輸出可以幫助社區以更突出的方式解決問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM