[英]UIImage Base64 Encoding and web service issue - IOS
我已使用Base64 ENCODING將圖像發送到REST Web服務,但是在Web服務端打開時,顯示為黑色?
我的代碼如下所示:
UIImage *image1;
NSString *encodedstring;
NSData *imagedata =UIImageJPEGRepresentation(image1, 1.0f);
encodedstring = [imagedata base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
為什么不使用圖像名稱啟動image1。 似乎image1不包含任何圖像。 為了進行測試,請嘗試:
UIImage *image1 = [UIImage imageNamed:@"some image file name"];
您可能需要使用NSLog編碼的字符串並在此處進行測試: http ://www.freeformatter.com/base64-encoder.html這樣,您可以看到在發送到服務器之前,圖像的base64字符串實際上已轉換。
我在發送字符串時使用URL編碼+%2B解決了這個問題。 用%2B替換+會有所幫助。 您的服務器端代碼將自動將%2B替換為+
實際上,這里發生的是當我們嘗試使用URL連接發送base64字符串時,字符串中的每個+都被替換為空格。 這會使字符串無效,從而導致圖像變黑。
希望這可以幫助! 干杯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.