簡體   English   中英

UIImage Base64編碼和Web服務問題-iOS

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

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