[英]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.