2016-06-08 4 views
-1

Я пишу web api для приложения для android и IOS, и у меня есть проблема, конвертирующая base64 в образ только для IOS, для android они дают правильную строку в формате base64. Я могу преобразовать его в качестве изображения. но в IOS они дают мне строку, начинающуюся вот так: /9j/4AAQSkZJRgABAQAASABIAAD/4QBYRXhpZgAATU0AKgAAAAgAAgESAAMAAAABAAEAAIdpAAQAAAABAAAAJgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAGhKADAAQAAAABAAAJxAAAAAD/7QA4UGhvdG9zaG9wIDMuMAA4QklNBAQAAAAAAAA4QklNBCUAAAAAABDUHYzZjwCyBOmACZjs. В этой строке содержатся несколько пустых пространств и я удалила его, как это,Как преобразовать строку Swift (IOS) в строку base64 в webapi?

string images = model.RequestObject.UserImage.ToCharArray().Where(c=>!Char.IsWhiteSpace(c)).Select(c => c.ToString()).Aggregate((a, b) => a + b); 

Хотя преобразовать строку в виде изображения, сообщение об ошибке брошена как строка не base64 формата. и это, как я уверен, преобразовав его

File.WriteAllBytes(StoragePath, Convert.FromBase64String(model.RequestObject.UserImage)); 
       model.RequestObject.UserImage = FileName; 

я попытался как этот

var bytes = Convert.FromBase64String(resizeImage.Content); using (var imageFile = new FileStream(filePath, FileMode.Create)) { imageFile.Write(bytes ,0, bytes.Length); imageFile.Flush(); } 

Но мой апи говорит, что это не действует строка. Может кто-нибудь помочь мне, как решить эту проблему. благодаря!

ответ

1

Кодируется как этот способ

let utf8str = yourString.dataUsingEncoding(NSUTF8StringEncoding) 
let base64Encoded = utf8str.base64EncodedStringWithOptions(NSDataBase64EncodingOptions.fromRaw(0)!) 

Надежда это поможет.

+0

Nirav Doctorwala, где я это делаю. на моем API или в IOS? –

+0

iOS сторона отправить эту базу64encoded на ваш api –

+0

Спасибо, Nirav, Позвольте мне проверить с моими разработчиками IOS. –

Смежные вопросы