1
私はSwiftで新しく、ネットで長い時間を探していますが、役に立たないです。WebからBase64を取得し、Swiftでデコードするにはどうすればよいですか?
Webサーバーからbase64をデコードしたいと思いますが、base64データは正しいとは思いますが、イメージに変換できません。
これは、base64文字列
であり、これは私のコード
Alamofire.request("http://www.MyWebService//MyWebService/MyWebService.asmx/MyWebService").response { response in
print("Request: \(response.request)")
print("Response: \(response.response)")
print("Error: \(response.error)")
if let data = response.data, let utf8Text = String(data: data, encoding: .utf8) {
print("Data: \(utf8Text)")
self.getdata(data: data)
}
}
func getdata(data: Data)
{
let parser = XMLParser(data: data)
parser.delegate = self
guard parser.parse() else {
print("xml parse error: \(parser.parserError?.localizedDescription)")
return
}
// get the parsedXMLString from
guard let value = parsedXMLString, let jsonData = value.data(using: .utf8) else {
print("cannot convert to data")
print("string: \(parsedElementValue)")
return
}
print("jsondata:\(jsonData)")
// try now parsing the JSON body
do {
if let jsonArray = try? JSONSerialization.jsonObject(with: jsonData, options: .allowFragments) as? [[String]]{
self.XmlImage = jsonArray!
print("data:\(self.XmlImage)")
}
else {
print("data didn't get")
}
}
}
extension ViewController: XMLParserDelegate {
func parser(_ parser: XMLParser, didStartElement elementName: String, namespaceURI: String?, qualifiedName qName: String?, attributes attributeDict: [String : String] = [:]) {
if elementName == "string"
{
parsedElementValue = ""
}
}
func parser(_ parser: XMLParser, foundCharacters string: String) {
parsedElementValue?.append(string)
}
func parser(_ parser: XMLParser, didEndElement elementName: String, namespaceURI: String?, qualifiedName qName: String?) {
if elementName == "string" {
parsedXMLString = parsedElementValue
parsedElementValue = nil
}
}
}
XmlImageではを "データが取得できませんでした" を取得です。これはiOS向けのため、写真をダウンロードできません。
これを実行するのが良い方法であることを知りたい場合、それを実行する最善の方法は何ですか?