Отправка HTML-кода через JSON в Swift

Я должен отправить NSAttributedString на MySQL и иметь возможность редактировать на моем сайте. Я думал, что лучшая идея будет преобразование NSAttributedString в массив строк. Но у меня проблема с отправкой. Во-первых, код (выполняется благодаря одному пользователю переполнения стека :)):

func uploadNote(user: String, title: String, category: String, content: [String]) {
let URL: NSURL = NSURL(string: "http://site/uploadNote.php")!
let string = arrayToJSONBase64(content)

print(string)
let request:NSMutableURLRequest = NSMutableURLRequest(URL:URL)
request.HTTPMethod = "POST"let bodyData = "content=\(string)"request.HTTPBody = bodyData.dataUsingEncoding(NSUTF8StringEncoding);
print("appended data to body")
let task = NSURLSession.sharedSession().dataTaskWithRequest(request){ data, response, error in

print("Sent request")
}
task.resume()

}

func arrayToJSONBase64(arr: [String]) -> String {
let data = try?NSJSONSerialization.dataWithJSONObject(arr, options: .PrettyPrinted)
let contentJsonBase64 = data!.base64EncodedStringWithOptions(.Encoding64CharacterLineLength)

return contentJsonBase64
}

И php:

<?php
// uploadr.php
require_once 'log.php';
class Handler {
use Logger;

public function handleRequest($arg) {

try  {
$this->log(__METHOD__);
$this->log(print_r($arg, true));
$json = base64_decode($arg['content']);
$this->log($json);
// just write to a file
file_put_contents('data.json', $json);
}
catch(PDOException $e) {
$this->log('Failed: ' . $e->getMessage());
}
catch( Exception $e) {

}
}
}
$handler = new Handler();
$handler->handleRequest($_POST);

log.php:

<?php
trait Logger {
function log($msg) {
file_put_contents('app.log', strftime('%Y-%m-%d %T ') . $msg . "\n", FILE_APPEND);
}
}

Проблема в том, что когда я отправляю массив как ["one", "two", "three"] все ок, сохранено в data.json и все в порядке. Но когда я пытаюсь отправить HTML-код, мой data.json выглядит так:

МОЙ ВЫХОД

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]